Исходящие вебхуки
Исходящий вебхук работает посредствам REST API только на действующей лицензии битрикс, с установленным SSL сертификатом, на доменах которые видны всему интернету, все запросы сначало идут на адрес https://oauth.bitrix24.tech/rest/ обрабатываются и отправляются на указанный в запросе эндпоинт.
Исходящий вебхук генерируется в Битрикс24, отправляется POST запрос во внешний обработчик. Исходящий вебхук срабатывает при наступлении некоторых событий в портале на которое мы подписываемся когда создаем исходящий вебхук. Например, создание новой задачи, это событие при наступлении которого во внешний обработчик из Битрикс24 уже отправляются данные, содержащий информацию об этом событии, этой задаче.
Для проверки подлинности запроса, создается секретный токен.
- Срок действия ключа доступа не ограничен во времени
- При утрате ключа пользователь теряет контроль над функционалом вебхука
- Возможности механизм ограничены особенностями работы технологии Rest
- В облачной версии Битрикс действует лимит на частоту запросов — не более 2-х запросов в секунду. В коробочной версии программы количество запросов не ограничено
Как создать исходящий вебхук
Необходимо перейти в меню в левой части главной страницы корпоративного портала и выбрать вкладку Разработчикам -> Другое. В открывшемся разделе нужно выбрать карточку Исходящий вебхук:
Настройка исходящего вебхука выполняется в несколько шагов. Первым делом отредактируйте название, а затем внесите данные в предлагаемые поля:
URL обработчикаукажите web-адрес, на который будет необходимо отправлять данныеСобытиявыберите одно или несколько событий для запуска вебхукаТокен приложениясекретный код для проверки подлинности
Настройка обработчика выполняется на стороне принимающей данные. Ключ авторизации, размещенные в поле Токен приложения, необходим для подтверждения личности портала, так обработчик поймет что именно этот портал отправил данные.
На странице обработчика разместите код:
<?php
print_r($_REQUEST);
writeToLog($_REQUEST, 'incoming');
function writeToLog($data, $title = '') {
$log = "\n------------------------\n";
$log .= date("Y.m.d G:i:s") . "\n";
$log .= (strlen($title) > 0 ? $title : 'DEBUG') . "\n";
$log .= print_r($data, 1);
$log .= "\n------------------------\n";
file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND);
return true;
}
Для проверки выполните действие на редактирование и сохраните изменения, в логе отобразится примерно такая история:
incoming
Array
(
[event] => ONTASKADD
[data] => Array
(
[FIELDS_BEFORE] => undefined
[FIELDS_AFTER] => Array
(
[ID] => 9
)
[IS_ACCESSIBLE_BEFORE] => N
[IS_ACCESSIBLE_AFTER] => undefined
)
[ts] => 1670179131
[auth] => Array
(
[domain] => b24-mbe7l5.bitrix24.ru
[client_endpoint] => https://b24-mbe7l5.bitrix24.ru/rest/
[server_endpoint] => https://oauth.bitrix.info/rest/
[member_id] => e70f5ea714eaaaa1ce71448e16ac82f5
[application_token] => vr1dlw98zzwvqs5c43cstrb1wouzsu9c
)
)
Как создать исходящий вебхук в роботе
Заходим в раздел Роботы в CRM, и тут можносделать очень многополезных вешей, например собрать исходящий вебхук с набором своих параметров:




