bitrix24-php-sdk
bitrix24-php-sdk copied to clipboard
Получение данных batch-методом через входящий вебхук
UPD: Актуально именно для tasks.task.list. Для task.item.list отработает нормально Обращение к входящему вебхуку, например https://b24-12cgoe.bitrix24.ru/rest/1/j312zm18fnzby0ls/tasks.task.list/ Возвращает ответ:
{
"result": {
"tasks": [...]
},
"total": 176,
"time": {...}
}
при этом в SDK ожидается ответ вида:
{
"result": {
[...]
},
"total": 176,
"time": {...}
}
Из-за чего при проходе по результатам массива возникают ошибки, например:
foreach ($firstResultPage->getResponseData()->getResult() as $cnt => $listElement) {
$lastElementIdInFirstPage = (int)$listElement['ID'];
}
$listElement['ID'] в данном случае null, так как $listElement хранит массив вида:
Array
(
[0] => Array
(
[id] => 1
обработка должна быть:
$lastElem = end($listElement);
$lastElem['id'];
Также не учитывается регистр ключей массива. Везде используется обращение в верхнем регистре ((int)$listElement['ID'];) Но в результатах ключи возвращаются и в нижнем регистре:
Array
(
[0] => Array
(
[id] => 1
Необходимо приводит к единому регистру:
$lastElem = array_change_key_case($lastElem, CASE_UPPER);