Имеется дистрибутив 1C-Битрикс, установленный на свой сервер.
С горем-пополам настроил АПИ и создал Webhook.
Но проблема в том, что хук отказывается принимать запросы методом POST - только GET. Брал стандартный пример из справочника:
$queryUrl = sute.ru/catalog.section.add
$queryData = http_build_query(array(
'fields' => array(
"iblockId"=>1,
"name"=>'NAME',
"code"=>'CODE',
"image"=>'image_base64'
),
'params' => array("REGISTER_SONET_EVENT" => "Y")
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
var_dump($result);
Этот запрос работает на демо-версии Битрикс24, но на 1С-Битрикс я получаю ошибку
{"error":100,"error_description":"Could not find value for parameter {fields}"}.
Полный текст ответа:
string(840) "HTTP/1.1 100 Continue HTTP/1.1 400 Bad Request Date: Fri, 10 Jul 2020 08:32:32 GMT Server: Apache/2.4.29 (Ubuntu) P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA" X-Powered-CMS: Bitrix Site Manager (DEMO) Set-Cookie: PHPSESSID=##############; path=/; HttpOnly Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Access-Control-Allow-Origin: * Access-Control-Allow-Headers: origin, content-type, accept X-Content-Type-Options: nosniff Set-Cookie: BITRIX_SM_SALE_UID=1; expires=Mon, 05-Jul-2021 08:32:32 GMT; Max-Age=31104000; path=/ Content-Length: 79 Connection: close Content-Type: application/json; charset=utf-8 {"error":100,"error_description":"Could not find value for parameter {fields}"}"
Гугление по коду/тексту ошибки не дало никаких результатов. Только научился предавать данные методом GET, прописывая в ссылку поля в формате "?fields[iblockId]=8&fields[name]...". Однако мне нужно передавать изображения, а их через GET никак не передашь.
Подскажите пожалуйста, что я делаю не так, как нужно составлять массив данных, чтобы битрикс понял, чего я хочу?