Полный цикл в digital

Исходящие вебхуки

Исходящий вебхук работает посредствам 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, и тут можносделать очень многополезных вешей, например собрать исходящий вебхук с набором своих параметров:


Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!