= curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://url_with_webhook/batch',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"cmd": {
"set_task": "task.item.add?fields[TITLE]=Создать в 1С контрагента для отдела продаж&fields[DESCRIPTION]=ИНН: INN, КПП: KPP. Ссылка на проект: link&fields[RESPONSIBLE_ID]=1058&field[CREATED_BY]=1058&field[DEADLINE]=2023-22-10T03:00:00+03:00",
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
curl_close($curl);
Задача не создаётся, в ответ приходит {"result":{"result":[],"result_error":[],"result_total":[],"result_next":[],"result_time":[]},"time": {// данные time}}
Подскажите пожалуйста, что делаю не так
А зачем тут батч?
Когда просто использую task.item.add и передаю параметры в строке запроса, задача создаётся, но почему-то без названия и описания Остальные поля (постановщик, ответственный, дедлайн) приходят корректно Когда отправляем постом через апи тестер, задача полностью создаётся корректно
Значит, запрос собираешь криво, на каких-то символах эти поля рушатся. Вообще, возьми CRest, гораздо проще будет работать. И методы task.item.* устаревшие, их нежелательно исползовать.
Собираем, создавая массив с fields, потом, соответственно, http_build_query
Вообще, у меня подозрение, что у тебя никакие поля не передаются, а ставятся дефолтные значения. Потому что у task.item.add другой формат параметров.
Выяснилось, возможно кому-то будет полезно Проблема была в кодировке, решилось применением iconv
Обсуждают сегодня