module NeonCrm
Constants
- VERSION
Public Class Methods
create_account(opts = {})
click to toggle source
Create Account
# File lib/neon_crm.rb, line 18 def self.create_account(opts = {}) mappings = {"phone" => "individualAccount.primaryContact.phone1", "organization" => "individualAccount.organizationName", "address" => "individualAccount.primaryContact.addresses.address.addressLine1", "country" => "individualAccount.primaryContact.addresses.address.county", "city" => "individualAccount.primaryContact.addresses.address.city", "gender" => "individualAccount.primaryContact.gender.code", "source" => "individualAccount.source.name", "first_name" => "individualAccount.primaryContact.firstName", "last_name" => "individualAccount.primaryContact.lastName", "email" => "individualAccount.primaryContact.email1"} params = Hash[opts.map {|k, v| [mappings[k], v] }] params['responseType'] = 'json' params['userSessionId'] = get_user_session_id address_hash = {"individualAccount.primaryContact.addresses.address.isPrimaryAddress" => "true", "individualAccount.primaryContact.addresses.address.isShippingAddress" => "false", "individualAccount.primaryContact.addresses.address.addressType.id" => "1", "individualAccount.primaryContact.addresses.address.addressType.name" => "Business"} params = params.merge(address_hash) url = URI.parse('https://api.neoncrm.com/neonws/services/api/account/createIndividualAccount') http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url.request_uri) request.set_form_data(params) response = http.request(request) response_params = JSON.parse response.body p response.body return false if response_params['createIndividualAccountResponse']['operationResult'] == "FAIL" true end
get_user_session_id()
click to toggle source
Get userSessionId
# File lib/neon_crm.rb, line 7 def self.get_user_session_id config = NeonCrm::Configuration.new url = URI.parse("https://api.neoncrm.com/neonws/services/api/common/login?login.apiKey=#{config.api_key}&login.orgid=#{config.org_id}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true response = http.request(Net::HTTP::Get.new(url.request_uri)) response_params = JSON.parse response.body user_session_id = response_params['loginResponse']['userSessionId'] end