Так получилось , что пришлось мне однажды скачать полный лист компаний по битрикс API . В начале я долго не мог разобраться что да как, от того, что, как то скудно инфы мне показалось.
Однако потом все-же разобрался и решил запилить этот вопрос. Может кому пригодиться, тк часто я на данном ресурсе и сам что-то смотрю.
И так, после выкуривания сего мануала
https://dev.1c-bitrix.ru/learning/course/index.ph...
как установить CREST чтобы можно было пакетно общаться c bitrix24 при помощи batch.
Сделано следующее
1) Установлены на север файлы из архива
https://dev.1c-bitrix.ru/docs/marketplace-and-apps...
2) Проведена регистрация локального приложения использующего только API в битриксе
3) Полученые в битриксе коды REST_CLIENT_ID, и CLIENT_SECRET вбиты в фаил settings.php на сервере
После успешной регистрации встал вопрос как работает 'crm.company.list' .
Тк его вызов методом call выдаёт только первые 50 результатов.
В официально й документации не сказано. как именно выводить следующие 50 может я плохо смотрел конечно, но в итоге путём длительных поисков было установлено что достаточно добвить к методу вот такой запрос ?start=50 для постраничного запроса.
Ну и чтобы одним запросом вызвать сразу множество нужно просто объединить в пакетный запрос такие запросы, однако у него есть ограничение когда дойдет до 50 такого запроса придется сделать следуюший batch запрос и начать с того места где остановился прежний.
<?php
require_once (__DIR__.'/crest.php');
$result = CRest::call('batch',
array(
'halt' => 0,
'cmd'=> array(
'list_0' => 'crm.company.list',
'list_1' =>'crm.company.list?start=50',
'list_2' =>'crm.company.list?start=100',
)
)
);
print_r ($result);
?>
Я представил примитивную реализацию запроса может быть кто-то скинет универсальный ее вариант, где результат будет полный массив из комапний? А может уже есть не на коленке писаный вариант, поделитесь?