Преобразование запроса PHP cURL в Ruby

Я пытаюсь отправить 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(); вниз.

0

Решение

Видимо, вы хотите сделать запрос на пост. более или менее, как это будет перевод, вы должны адаптировать заголовки

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

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]