Входящий Вебхук
Входящий вебхук позволяет из внешнего сервиса запускать сценарий бота для конкретного контакта и передавать в него параметры.
Создание
Для создания вебхука необходимо выполнить следующие действия:
Создать сценарий в разделе "Сценарии", который будет вызываться с помощью вебхука
Создать вебхук в разделе "Входящие вебхуки"
Выбрать тип вебхука:
Стандартный вебхук — вебхук, для которого настраивается соответствие полученных переменных с переменными бота
Javascript-вебхук — вебхук, в котором происходит разбор полученного запроса с помощью пользовательского javascript-кода.
Выбор типа вебхука Указать произвольное имя
Выбрать необходимый сценарий
Стандартный вебхук
Для настройки стандартного вебхука необходимо настроить сопоставление переменных, передаваемых в теле запроса, с переменными бота, которые будут записываться при вызове вебхука. Все переменные в теле запроса вебхука должны быть переданы внутри переменной variables. Если у бота ещё нет переменной с заданным именем, она будет создана.
Javascript-вебхук
В поле ввода вставьте код для обработки полученного запроса.
Поля полученного запроса:
var rawBody = response.body; // Сырое тело запроса
var data = response.data; // Объект всех переменных запроса, включая строку запроса, форму, тело и т.д.
Для корректного выполнения скрипта необходимо:
Установить контакт, для которого будет выполняться JavaScript-код
setContactByTelegramId(<id контакта Telegram>) //устанавливает текущий контакт по id контакта из telegram
setContactById(<id контакта в Leadtex>) – устанавливает текущий контакт по id контакта Лидтех
Подробнее о API:
В интерпретаторе 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
Примеры
Пример GET запроса с поиском по номеру телефона:
Пример GET запроса с поиском по id контакта:
Пример тела POST запроса с передаваемыми переменными и поиском по id контакта:
{
"contact_by": "id",
"search": 123456789,
"variables": {
"first_var": "Значение первой переменной",
"second_var": "Значение второй переменной"
}
}
Каждый вызов с переданными параметрами можно посмотреть на вкладке "История вызовов".
Срок хранения истории вызовов составляет 10 дней.
Last updated
Was this helpful?