在这次挑战之前,我以为我离绕着栏杆转越来越近了。我有一个初始值设定项
agilecrm.rb
-内容如下所示。我正在使用
AgileCRM Ruby code
尝试将我的应用程序与AgileCRM系统连接。当使用以下代码时,与测试
Create Contact
config/initializers/agilecrm。rb型
require 'net/http'
require 'uri'
require 'json'
class AgileCRM
class << self
def api_key=(key)
@@api_key = key
end
def domain=(d)
@@domain = d
end
def email=(email)
@@email = email
end
def api_key
@@api_key
end
def domain
@@domain
end
def email
@@email
end
def request(method, subject, data = {})
path = "/dev/api/#{subject}"
case method
when :get
request = Net::HTTP::Get.new(path)
when :post
request = Net::HTTP::Post.new(path)
request.body = data.to_json
when :put
request = Net::HTTP::Put.new(path)
request.body = data.to_json
when :delete
request = Net::HTTP::Delete.new(path)
else
raise "Unknown method: #{method}"
end
uri = URI.parse("https://#{domain}.agilecrm.com")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request['Content-Type'] = 'application/json'
request['Accept'] = 'application/json'
request.basic_auth AgileCRM.email, AgileCRM.api_key
response = http.request(request)
response.body
end
end
end
AgileCRM.api_key = '*******'
AgileCRM.domain = '*******'
AgileCRM.email = '*******'
# ======================Create Contact====================================
contact_data = '{
"star_value": "4",
"lead_score": "92",
"tags": [
"Lead",
"Likely Buyer"
],
"properties": [
{
"type": "SYSTEM",
"name": "first_name",
"value": "John"
}
]
}'
parsed_contact_data = JSON.parse(contact_data)
print(AgileCRM.request :post, 'contacts', parsed_contact_data)