Как создать вебхук для интеграции сайта на Joomla и CRM Битрикс 24. Эта статья - часть документации для плагинов интеграции WT JoomShopping Bitrix24 PRO и WT Virtuemart Bitrix24.
- Вебхук (webhook)
- Вебхук это способ оповестить один сервер о событиях, произошедших на другом сервере. На практике это является запросом к стороннему серверу в определённый момент времени работы сайта, интернет-магазина с каким-то набором данных.
Входящие и исходящие вебхуки Битрикс 24
Мы рассматриваем их относительно Битрикс 24.
- Входящий вебхук
- Принимает данные в Битрикс 24 извне - из сайта, приложения, 1С Бухгалтерии и т.д.
- Исходящий вебхук
- Позволяет оповещать сторонние системы (сайт, приложение, системы учёта и статистики) о событиях, происходящих внутри Битрикс 24.
Как создать входящий вебхук в Битрикс 24?
Мы будем опираться на облачный портал CRM Битрикс 24. Расположение функционала в разных версиях порталов может отличаться.
Раздел "Разработчикам"
Перейдите в Левое меню - Приложения - Разработчикам. В этом разделе находятся настройки импорта и экспорта данных, автоматизаций управления и продаж, чат-ботов и т.д. Нас интересует раздел "Другое".
Нажимаем кнопку "Входящий вебхук".
И откроется окно собственно создания входящего вебхука.
Первое, на что стоит обратить внимание - вебхук можно переименовать. Если нажать на иконку карандаша у заголовка, то можно задать собственное название вебхуку. Если в CRM много интеграций, то в них легко запутаться. Чтобы легче было ориентироваться - назовите вебхук "Интеграция с Joomla", "Интеграция с JoomShopping", "Интеграция с интернет-магазином" и т.д.
При интеграции Joomla с Битрикс 24 на стороне Joomla нужно указать:
- адрес портала,
- id создавшего вебхук
- токен
На скриншоте ниже web-tolk.bitrix24.ru
- это адрес портала. 1
в ссылке - это id создавшего вебхук. l5tsqdxok5e319mf
- это токен авторизации. Его можно в любой момент изменить в целях безопасности.
Обратите внимание: если уволить сотрудника из-под которого был создан вебхук, то созданные им вебхуки перестанут работать и интеграция сломается. Поэтому желательно создавать вебхуки из-под аккаунта администратора или владельца портала Битрикс 24. Владельца-то уж точно не уволят...
Генератор запросов нам в данном случае не нужен. Нам важна настройка прав доступа для вебхука Битрикс 24.
Для того, чтобы ваш портал Битрикс 24 мог принимать из Joomla данные - создавать сделки, лиды, добавлять в них товарные позиции, указывать нужные стадии и т.д. - вебхуку нужны права доступа CRM.
Если вебхук был создан правильно, то после заполнения и сохранения настроек в плагинах интеграции Joomla и Битрикс 24 у вас отобразится информация о вашем портале и можно приступать к дальнейшим настройкам уже на стороне Joomla.
Как создать исходящий вебхук в Битрикс 24?
В некоторых случаях вам нужно управлять данными на стороне Joomla при некоторых событиях, происходящих в Битрикс 24. Например, вам нужно изменить статус заказа в Joomla JoomShopping при перемещении сделки с одной стадии на другую.
Для этого потребуется создать исходящий (относительно Битрикс 24, конечно) вебхук. Создать его можно в том же разделе Приложения - Разработчикам - Другое.
Битрикс должен знать на какой адрес посылать данные и в каких случаях.
Для этого ему нужны:
- URL обработчика - как правило это url обращения к функционалу плагинов Joomla через интерфейс Ajax. Ссылка вида https://web-tolk.ru/?option=com_ajax&plugin=wt_jshopping_b24_pro&group=system&format=raw&token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
- Токен приложения - этим токеном "подписывается" каждый запрос из Битрикс 24 к вашему Joomla сайту. Его нужно указать в настройках на стороне Joomla и проверять при каждом запросе. Таким образом вы обезопасите свой сайт от попыток взлома. Этот токен можно всегда изменить на стороне Битрикс 24 и заново указать его в настройках Joomla в целях безопасности.
- События - выберите список событий, при которых Битрикс 24 будет отсылать данные вашей Joomla. Например, событие
ONCRMLEADUPDATE
вызывается при любом изменении лида - перемещении по стадиям, изменении и сохранении данных (в том числе роботами). СобытиеONCRMDEALADD
вызывается при создании новой сделки.
Обратите внимание, что для разных типов интеграции можно создавать отдельные исходящие вебхуки. Например, при изменении сделок и лидов можно использовать один исходящий вебхук, а при работе с сущностями дел и задач, товаров товарного каталога - создать отдельный исходящий вебхук, запросы от которого может обрабатывать отдельный плагин Joomla.