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

Входящие вебхуки

Входящий вебхук работает посредствам REST API только на действующей лицензии битрикс, с установленным SSL сертификатом. Помните, что чужие ключи недоступны никому, даже администратору портала. Если администратор попытается внести изменения в чужой вебхук, то все настройки будут сброшены, а он станет владельцем этой интеграции.

Входящие вебхуки инициируются из вне, с вашего ПК, виртуальной машины, хостинга и так далее, поступают на портал Битрикс24 в виде http запроса с некоторыми параметрами и возвращают определенный ответ.

Формирование URL

Первый необходимый пункт для работы хука. Ссылка имеет формат:

https://<url_your_bitrix24>/rest/<id_user>/<secret_token>/<method>.json/
  • url_your_bitrix24 адрес вашего портала
  • id_user айди создавшего пользователя, важно, если у пользователя нет доступа к некоторым данным, то и его вебхук не должен их тоже получать
  • secret_token секретный ключ для доступа, если есть сомнения, что вебхук стал кому-то еще доступен, просто нажимаете кнопку Перегенерировать и получите новый токен
  • method.json метод который мы вызываем

Настройка прав

Это второй необходимый пункт для работы хука. Тут выбираем те права, которые ему будут нужны. Выбрать просто все права явно не безопасное решение и так делать не надо. Если хотим, чтобы он работал с задачами, указываем Задачи(tasks), чтобы он работал с CRM, указываем CRM(crm).

Открыв страницу, вы увидите предупреждение об ответственности, чуть ниже поле с названием Вебхук для вызова REST API. В нем содержится часть ссылки, включающая в себя уникальный ключ. Если он по каким-то причинам вам не нравится или стал доступен третьим лицам, можно создать новый нажав кнопку Перегенерировать, при этом все что было настроено на текущий вебхук, перестанет работать.

Покажу на примере входящего вебхука, как получить информацию о сделке по ее ID:

Воспользуемся разделом генератор запросов на странице создания входящего вебхука. Информацию о сделке нам может вернуть метод crm.deal.get, для получения информации по методу достаточно перейти в документацию:

Из параметров по доке он принимает только один параметр id, соответствующий id нашей сделки. Поэтому это и указываем на странице хука в генераторе запросов:

Нажимаем Выполнить и получаем информацию о сделке с id равным 6:

Все тоже самое мы сможем посмотреть в браузере, вызвав URL:

Скрипт для запроса

Простейший скрипт для тестирования запроса на PHP:

<?php
// укажите URL своего Битрикс24
$b24Url = "https://site1.loc";
// ID пользователя, от имени которого будем добавлять лид
$b24UserID = "1";
// код вебхука, который мы только что получили
$b24WebHook = "3f09ate236fge5ae";

// формируем URL, на который будем отправлять запрос
$queryURL = "$b24Url/rest/$b24UserID/$b24WebHook/crm.deal.get.json";

// формируем параметры для получения сделки
$queryData = http_build_query(array(
    "id" => 6
));

// отправляем запрос в Б24 и обрабатываем ответ
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_POST => 1,
    CURLOPT_HEADER => 0,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $queryURL,
    CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);

// если произошла ошибка, выведем её
if (array_key_exists('error', $result)) {
    die("Ошибка при запросе: " . $result['error_description']);
}

echo "<pre>";
print_r($result);
echo "</pre>";

Работы проще выполнять используя специально для этого разработанную PHP библиотеку CRest, примеры работы описаны в документации.


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