You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

Вебхук (WebHook) - упрощенный вариант REST-событий и REST-команд, не требующий написания приложения.

Для создания вебхуков необходимо перейти в раздел Приложения - Вебхуки (https://helpdesk.bitrix24.ru/open/5408147/)

или Приложения - разработчикам 

Переходим в раздел Другое

выбираем опцию "исходящий вебхук" или "входящий вебхук"

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

Создать 6 исходящих вебхуков на адрес Логуса

  • Создание контакта
  • Обновление контакта
  • Создание компании
  • Обновление компании
  • Создание сделки
  • Обновление сделки

В поле "Адрес обработчика" необходимо указать внешний (белый) адрес роутера объекта.

Если сервер Битрикс находится в облаке:
  1. В конфигурационном файле в настройках Битрикс указывается <EventsBaseUrl> - маска подключения к серверу Логуса (протокол и порт).
    Порт, запросы с которого будет отслеживать модуль Битрикс.
    Например: http://*:8080/
  2. Далее Администратор объекта должен настроить проброс портов, сопоставить локальный адрес сервера Логуса (например: 192.168.11.10:8080) с внешним (белым) адресом роутера объекта (например: 197.111.78.65:76765)
  3. Именно внешний (белый) адрес необходимо указывать в настройках Исходящих вебхуков в поле Адрес обработчика

В итоге, как происходит взаимодействие Битрикс и Логуса:

  1. Происходит какое-либо событие на стороне Битрикс (исходящий вебхук)
  2. Отправляется запрос по адресу 197.111.78.65:76765 - внешний (белый) адрес роутера объекта
  3. В соответствии с настройками проброса портов происходит перенаправление запроса на локальный адрес сервера Логуса 192.168.11.10:8080
  4. Модуль Битрикса получает запрос через 8080 порт и обрабатывает его
Если сервер Битрикс развёрнут локально на объекте.

В таком случае в настройках Исходящих вебхуков в поле Адрес обработчика прописывается локальный адрес сервера Логуса. То есть в нашем примере: 192.168.11.10:8080

Если Битрикс развёрнут локально у клиента, а не в облаке, то необходимо убедиться, что сервер Логуса доступен по локальному адресу с сервера Битрикс, например командой:

curl http://logus_server:8080/

где logus_server - локальный адрес сервера Логуса

Бывали случаи, когда теряли много времени, а сервер Битрикс оказывался в отдельном VLAN/DMZ и не имел доступа к серверу Логуса. В этом случае и сам Битрикс будет подвисать при операциях, требующих вызова вебхука - ожидать таймаута по 30 секунд.


Поля «Название» и «Комментарий» заполнить по желанию.

В поле «Тип события» отметить тип, соответствующий одному из 6 событий.

После сохранения вебхука будет сгенерирован Код авторизации в виде строки из случайных знаков.

Этот код позволит внутри модуля Битрикс проверить, действительно ли обработчик вызван вашим Битрикс.

Проверку вебхуков можно отключить <CheckWebHookAuthorizationCodes>False</CheckWebHookAuthorizationCodes>.

Для безопасной и корректной работы синхронизации следует оставлять проверку включённой. <CheckWebHookAuthorizationCodes>True</CheckWebHookAuthorizationCodes>.

При активной проверке все коды авторизации необходимо добавить в конфиг в секции <WebHookAuthorizationCodes>. Коды перечисляются через запятую (пробелы, табуляции и переносы на новую строку допускаются, порядок кодов значения не имеет).

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

Создать один входящий вебхук, и предоставить ему права к следующим разделам: Пользователи (user), Списки (lists) и CRM (crm).

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

Для настройки вебхука необходимо в logus.local.config в секции <Bitrix> в поле <WebHookId> прописать уникальный код для авторизации вебхука.

Внимание! Данный код является конфиденциальной информацией. Его необходимо держать в секрете.

Вместе с кодом будет представлен образец URL, который нужно использовать при отправке данных из Логуса в Bitrix24 (для разработчиков системы):
https://********.bitrix24.ru/rest/1/5sb---------1wg/profile/ 
где:

  • ******** - имя вашего портала;
  • /rest/ - указание системе на то, что данный адрес относится в вебхукам;
  • /1/ - идентификатор пользователя, создавшего вебхук. Под правами этого пользователя будет работать этот вебхук.
  • /5sb---------1wg/ - код авторизации вебхука;
  • /profile/ - метод REST, который вы хотите выполнить, обращаясь к вебхуку. Разработчик должен сам подобрать метод из REST API в зависимости от целей создания вебхука.




  • No labels