Отправка массива с помощью HTTParty Gem
Я использую HTTParty Gem для отправки данных в API SugarCRM.
Мне удалось успешно пройти проверку подлинности с помощью API, и теперь я пытаюсь найти в нем преимущество, публикуя данные в API.
Я столкнулся с проблемой при попытке отправить поля name_value_pair, которые находятся в Sugar CRMs Документация должна быть отправлена следующим образом:
"name_value_list" => array(
array(
'name' => 'last_name',
'value' => 'Victor',
),
array(
'name' => 'phone_mobile',
'value' => ‘9999999999’
),
),
Пытаясь преобразовать это в Ruby, я получил это как мой запрос -
response2 = HTTParty.post(base_uri,
body: {
method: "set_entry",
input_type: "JSON",
response_type: "JSON",
rest_data: {
session: session_id,
module_name: 'Leads',
name_value_list:
[
[
'name', 'last_name'
],
[
'value', 'Victor'
],
]
}.to_json
},
debug_output: $stdout
)
Тем не менее, CRM API возвращает мне ошибку 500. Как я могу структурировать эти данные массива так, чтобы они имитировали документацию PHP для name_value_list
поле
2 ответа
Я посмотрел на http://www.w3schools.com/php/php_arrays.asp, на "Ассоциативные массивы", и я думаю, что у вас есть PHP, в котором пары ключ / значение должны быть хешем, а не массивом. Поэтому я предлагаю попробовать это:
name_value_list:
[
{
'name' => 'last_name',
'value' => 'Victor'
},
]
(Единственное изменение заключается в том, что внутренние квадратные скобки преобразуются в фигурные скобки.)
Хорошо попробуйте конвертировать оригинальную строку в HTTParty
один, как есть, то есть:
name_value_list:
[
[
'name' => 'last_name',
'value' => 'Victor'
],
]