Прием данных из сторонних сервисов в бот с помощью Входящего Вебхука (webhook)
Входящий вебхук позволяет из внешнего сервиса запускать сценарий бота для конкретного контакта и передавать в него параметры.
Как создать входящий вебхук в чат-боте
Для создания вебхука необходимо выполнить следующие действия:
Создать сценарий в разделе "Сценарии", который будет вызываться с помощью вебхука
Создать вебхук в разделе "Входящие вебхуки"
Выбрать тип вебхука:
Стандартный вебхук — вебхук, для которого настраивается соответствие полученных переменных с переменными бота
Javascript-вебхук — вебхук, в котором происходит разбор полученного запроса с помощью пользовательского javascript-кода.
Выбор типа вебхука
4. Указать произвольное имя
5. Выбрать необходимый сценарий
Стандартный вебхук
Для настройки стандартного вебхука необходимо настроить сопоставление переменных, передаваемых в теле запроса, с переменными бота, которые будут записываться при вызове вебхука. Все переменные в теле запроса вебхука должны быть переданы внутри переменной variables. Если у бота ещё нет переменной с заданным именем, она будет создана.
Javascript-вебхук
В поле ввода вставьте код для обработки полученного запроса.
Поля полученного запроса:
var rawBody = response.body; // Сырое тело запроса
var data = response.data; // Объект всех переменных запроса, включая строку запроса, форму, тело и т.д.
Для корректного выполнения скрипта необходимо:
Установить контакт, для которого будет выполняться JavaScript-код
setContactByTelegramId(<id контакта Telegram>) //устанавливает текущий контакт по id контакта из telegram
setContactById(<id контакта в Leadtex>) – устанавливает текущий контакт по id контакта Лидтех
В интерпретаторе javascript входящего вебхука недоступны функции: goToBlock() и disableContinue().
Вызов вебхука
После создания вебхука будет сгенерирован уникальный URL для запуска выбранного ранее сценария.
Для вызова вебхука можно использовать как POST так и GET запрос, переменные будут считаны вне зависимости от того, как они были переданы: в адресе или в теле запроса.
При вызове URL вебхука необходимо выполнить следующие условия:
Заголовок запроса (HTTP Headers) Accept должен иметь значение "application/json"
В переменных запроса должна присутствовать переменная признака поиска контакта contact_by с любым значением из списка ниже и переменная search со значением по которому необходимо найти контакт:
id - поиск контакта по его идентификатору в системе Leadteh,
phone - поиск по номеру телефона,
email - поиск по E-mail,
telegram_name - поиск по имени Telegram аккаунта,
telegram_id - поиск по числовому Telegram идентификатору,
whatsapp - поиск по номеру Whatsapp,
vk - поиск по Vk идентификатору,
amocrm_id - поиск по идентификатору в системе AmoCRM,
bitrix24_id - поиск по идентификатору в системе Битрикс24