Элемент Вебхук в чат-ботах
Вы можете настроить отправку вебхука по сценарию цепочки вашего чат-бота или активировать глобальные вебхуки по различным событиям вашего чат-бота и получать информацию в своей системе.
Рассмотрим, что такое вебхуки и где они используются, а также как их активировать и какая структура получаемых данных.
Где используются вебхуки
Вебхук — механизм оповещения о событиях посредством отправки HTTP запроса на URL, где находится обработчик.
С помощью этой интеграции вы сможете настроить отправку данных о событии в цепочке бота в свою систему для дальнейшей работы с этим клиентом.
Представьте сценарий: вы создали последовательный опрос для пользователя, чтобы он мог зарегистрироваться на мероприятие в мессенджере. Вам нужно узнать о новом зарегистрированном на определенную лекцию, чтобы связаться с ним или изменить статус в вашей CRM.
Именно с помощью добавленного вебхука вы можете это сделать. Как только пользователь проходит отслеживаемый блок настроенной цепочки, в вашу систему отправляются данные о свершившемся событии.
Как включить отправку вебхука в цепочке
Вы можете добавить вебхук в конструкторе цепочки и отслеживать определенную информацию по мере прохождения нужных вам блоков цепочки.
Сообщение | Введение пользователем своих данных или нажатие на созданную кнопку. |
Действие | Открытие чата с администратором, отписка от бота, обновление переменной, присвоение тега. |
Цепочка | Запуск новой цепочки. |
Пауза | Завершение времени паузы. |
Фильтр | Прохождение выставленных условий фильтра. |
Запрос API | Получение информации по запросу. |
Чтобы вставить отправку вебхука, добавьте блок Действие после отслеживаемого блока.
Выберите опцию Отправить вебхук. Введите название отправляемого вебхука и URL, куда передавать данные.
Как включить глобальные вебхуки
Вы можете также подключить вебхуки, которые будут отправляться по событиям всего чат-бота.
Перейдите в настройки бота, во вкладку Вебхуки. Активируйте настройку и вставьте URL, на который нужно отправлять данные.
Выберите события, по которым нужно отправлять оповещения, и нажмите Сохранить для применения настроек.
Вы можете выбрать следующие события:
Входящие сообщения | Отправляется при каждом новом входящем сообщении от пользователя в чате с информацией о пользователе и текстом сообщения. |
Исходящие сообщения | Отправляется при каждом отправленном сообщении пользователю с информацией о пользователе и текстом сообщения. |
Открытие чата | Отправляется после прохождения пользователем цепочки с действием с информацией о пользователе. |
Старт пользовательской цепочки | Отправляется при запуске триггерных цепочек с информацией о пользователе и цепочке. |
Переход по ссылке | Отправляется при проходе пользователем по ссылкам в кнопках и тексте с информацией о ссылке, отправляющем блоке и пользователе. |
Отписка от бота | Отправляется при отписке пользователя от бота с информацией о пользователе и боте. |
Заблокировал бота | Отправляется при блокировке пользователем сообщений от бота с информацией о пользователе и боте. |
Вы также можете включить отслеживание оплаты в чат-ботах в настройках аккаунта. Читайте подробне: Как отправить вебхук про успешную оплату.
Структура вебхука
Вебхук передает такие данные:
- дата срабатывания вебхука;
- название вебхука — по
"title"
вы можете на своей стороне фильтровать пришедшие вебхуки; - информация о боте и к какой странице соцсети он подключен — идентификатор, фото и ссылка на страницу сообщества в соцсети;
- информация о контакте для которого произошло событие — идентификатор, имя, день рождения, город, страна, фото профиля, установленные переменные и теги.
Пример вебхука отправляемого из цепочки чат-бота:
[
{
"info": null, // информация из мессенджера
"service": "messenger", // messenger - чат-бот Facebook Messenger, telegram - чат-бот Telegram
"title": "Зарегистрировались. Зеленый зал", //название вебхука
"bot": {
"url": "https://m.me/104117781360763",
"external_id": "104117781360763", // идентификатор сообщества в мессенджере (для Facebook значение передается строкой, для Telegram — числом).
"id": "17ff4105-d5f1-4790-9d09-a6f64ea73d54", // идентификатор подключенного бота в Sendpulse
"name": "BEST" // название сообщества
},
"contact": {
"имя переменной": "значение переменной",
"email": "name@example.com",
"phone": "+38093000000",
"last_message": "hey! whats up?", // последнее сообщение пользователя
"photo": "https://..",
"tags": ["название тега 1", "название тега 2"],
"id": "467bf50f-9cb0-4b65-b722-0135ad5fb9e0", // идентификатор контакта в Sendpulse
"name": "Alexander"
},
"date": 1617401679 // дата срабатывания блока в милисекундах
}
]
Пример вебхука для Подписка на бота:
[
{
"info":null,
"service":"telegram",
"title":"new_subscriber",
"bot":{
"url":"https://t.me/best_bot",
"external_id":1845120800,
"id":"60b0a854b4d8073f592b92f3",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"name",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd0f7b657847848"
},
"date":16377590567070
}
]
Пример вебхука для Входящие сообщения:
[
{
"info":{ // информация из мессенджера
"message":{
"channel_data":{
"message":{
"audio":null,
"from":1332678955,
"context":null,
"interactive":null,
"contacts":null,
"text":{
"body":"hey! whats up?"
},
"button":null,
"system":null,
"voice":null,
"video":null,
"identity":null,
"image":null,
"timestamp":1625834714,
"document":null,
"type":"text",
"id":"ABCDOAk1346346go-sKd--dduwQ9p",
"sticker":null,
"location":null
},
"message_id":"ABCDOAk1Z43535-sKd--dduwQ9p"
},
"id":"60e8434b446846838d8463"
}
},
"service":"whatsapp",
"title":"incoming_message",
"bot":{
"url":"https://wa.me/380932674329",
"external_id":"380932674329",
"id":"60c1c50c156845831909cf74",
"name":"Revision_me"
},
"contact":{
"username":"Alexander",
"name":"Alexander",
"tags":[
],
"last_message":"hey! whats up?", // последнее сообщение пользователя
"photo":null,
"variables":{
"dept":"Designer"
},
"id":"60c0f31f457479d02b7512"
},
"date":1625834714
}
]
Пример вебхука для Исходящие сообщения:
[
{
"info":{
"message":{
"channel_data":{
"message":{
"disable_web_page_preview":null,
"text":"Click",
"disable_notification":null,
"reply_to_message_id":null,
"parse_mode":"HTML",
"reply_markup":{
"inline_keyboard":[
[
{
"payload_id":"84d30d5624-92245695-4e834560-86f4-bbdb694710b0456",
"callback_data":"eyJwIjoiODRkMzBkMjQtOTI5NS00ZTgwLTg2ZjQtYmJkYjY5NDcxMGIwIn05257",
"text":"Click",
"data":{
"to_block_id":"3bd58f77-ef28-4f0d-9ae7-33ef71bedeb85724",
"to_block":1,
"button_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b3687568"
},
"type":"postback",
"statistic_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b5367637",
"external_id":"ce60c182-c058-4450-a002-2e500936ab536739",
"id":"6cb63b34-a030-4e53-ba91-8f13320ad36467346b"
}
],
[
{
"payload_id":"97867499-063c-498d-9386-e26284addf1367568658",
"callback_data":"dummy",
"text":"Click",
"data":{
"to_block_id":"9ba1c058-7ae8-429d-9d83-f674bf6635685b2f8",
"to_block":null,
"button_id":"bc769bd8-edef-42a6-9448-e47875b4663568999"
},
"type":"postback",
"statistic_id":"bc769bd8-edef-42a6-9448-e47875b46935683599",
"external_id":"5148a80f-0dc7-4bb9-aa26-8331a013568dfabc",
"id":"bc769bd8-edef-42a6-9448-e47875b46568586999"
}
]
]
}
},
"message_id":943544,
"chat_id":6069664546956
},
"id":"619e3686cac8ab43e20a4a0546549"
}
},
"service":"telegram",
"title":"outgoing_message",
"bot":{
"url":"https://t.me/best_bot",
"external_id":"18451208006576",
"id":"60b0a854b4d8073f592b925675f3",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd0f7b65675675"
},
"date":16377585936738
}
]
Пример вебхука для Открытие чата:
[
{
"info":null,
"service":"telegram",
"title":"open_chat",
"bot":{
"url":"https://t.me/best_bot",
"external_id":18451208007356,
"id":"60b0a854b4d8073f592b92f673563",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd0f756756b65"
},
"date":16377587917546
}
]
Пример вебхука для Старт пользовательской цепочки:
[
{
"info":null,
"service":"telegram",
"title":"run_custom_flow",
"bot":{
"url":"https://t.me/best_bot",
"external_id":1845120856756700,
"id":"60b0a854b4d8073f592b92f3564567",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd0f7b655858"
},
"date":163775889778478
}
]
Пример вебхука для Переход по ссылке:
[
{
"info":null,
"service":"telegram",
"title":"link_click",
"bot":{
"url":"https://t.me/best_bot",
"external_id":1845120806750,
"id":"60b0a854b4d8073f592b9254677654f3",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd0f65757b65"
},
"date":16377589785675
}
]
Пример вебхука для Отписка от бота:
[
{
"info":null,
"service":"telegram",
"title":"unsubscribe",
"bot":{
"url":"https://t.me/best_bot",
"external_id":1845120806780,
"id":"60b0a854b4d8073f592b92678f3",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4966784fd0f7b65"
},
"date":1637759687101
}
]
Пример вебхука для Заблокировал бота:
[
{
"info":null,
"service":"telegram",
"title":"bot_block",
"bot":{
"url":"https://t.me/best_bot",
"external_id":1845126570800,
"id":"60b0a854b4d8056773f592b92f3",
"name":"BEST"
},
"contact":{
"username":"veronica",
"name":"veronica",
"tags":[
],
"last_message":"Test",
"photo":null,
"variables":{
"name":"Veronica Petrova",
"Phone":"380985236985",
"Email":"test@gmail.com"
},
"id":"60b0a854083b4964fd5670f7b65"
},
"date":1637756579166
}
]
Данные вебхука приходят с типом application/json
.
Обновлено: 25.06.2024
или