При обращении с REST API Битрикс24 из php нужно передать параметр TASKID
Если делаю через cURL
$service_url = 'https://'.HomeController::DOMAIN.'.bitrix24.ru/rest/71/##############/task.item.getdata.json';
$curl = curl_init($service_url);
$data = array('TASKID' => $number);
$curl_post_data = array(
'content' => http_build_query($data)
);
$curl_post_data = json_encode($curl_post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
$curl_response = curl_exec($curl);
if ($curl_response === false) {
$info = curl_getinfo($curl);
curl_close($curl);
die('error occured during curl exec. Additioanl info: ' . var_export($info));
}
curl_close($curl);
$decoded = json_decode($curl_response);
if (isset($decoded->response->status) && $decoded->response->status == 'ERROR') {
die('error occured: ' . $decoded->response->errormessage);
}
dd($decoded);
тогда возвращается ошибка
Param #0 (taskId) for method ctaskitem::getdata() expected to be of type "integer", but given something else
Переменная
$number типа Integer
Если делаю через
file_get_contentsqueryUrl = 'https://'.HomeController::DOMAIN.'.bitrix24.ru/rest/71/#####################/task.item.getdata.json';
$data = array('TASKID' => $number);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($queryUrl, false, $context);
dd($result);
$result = json_decode($result, 1);
return $result;
тогда всё работает, но не имею возможности отловить ошибку, в случае, если будет неверно введен номер задачи
Как передать через cURL параметр с типом Integer?