Я пытаюсь отправить NewSubmission в CRM под названием LionDesk. Пример кода NewSubmission написан на PHP, и мне нужно преобразовать его в код Ruby, так как я буду интегрировать его в существующее приложение Rails.
Вот код, который они предоставляют через свои документы:
$url = 'https://api-v1.liondesk.com//';
$data = array(
'action' => 'NewSubmission',
'firstname' => 'Joe',
'lastname' => 'Smith',
'comments' => 'API Test',
'phone' => '555-1212',
'email' => '[email protected]',
'street_address' => '5937 Darwin Court',
'city' => 'San Diego',
'state' => 'CA',
'zip' => '92025',
'assigned_user_name' => 'Joe Smith',
'assigned_user_email' => '[email protected]',
'assigned_user_phone' => '760-123-1234',
'tag' => 'Buyer,92025,Listings Landing Page',
'sourcename' => 'Facebook Ad 1',
'contactid' => '12345',
'siteid' => '1'
);
$content = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
curl_setopt($ch, CURLOPT_USERPWD, $APIKEY . ":" . "" );
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'X-LionDesk-Id: '.$USERKEY
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
$res = json_decode($result);
print_r($res);
curl_close($ch);
Ссылка на их документы: https://api.liondesk.com/docs.html
Любая помощь будет принята с благодарностью.
Я пытался сделать это с помощью таких драгоценных камней, как rest-client и rack, но у меня действительно возникают трудности с интерпретацией php-кода из $ch = curl_init();
вниз.
Видимо, вы хотите сделать запрос на пост. более или менее, как это будет перевод, вы должны адаптировать заголовки
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://api-v1.liondesk.com/')
header = {
'Content-Type': 'text/json',
'X-LionDesk-Id': 'yourId'
}
data = {
action: 'NewSubmission',
firstname: 'Joe',
lastname: 'Smith',
comments: 'API Test',
phone: '555-1212',
email: '[email protected]',
street_address: '5937 Darwin Court',
city: 'San Diego',
state: 'CA',
zip: '92025',
assigned_user_name: 'Joe Smith',
assigned_user_email: '[email protected]',
assigned_user_phone: '760-123-1234',
tag: 'Buyer,92025,Listings Landing Page',
sourcename: 'Facebook Ad 1',
contactid: '12345',
siteid: '1'
}
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json
response = http.request(request)
Надеюсь, поможет. Взгляните на это для справки https://ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTP.html
Других решений пока нет …