Как настроить отправку вебхука в чат-ботах
Вы можете настроить отправку вебхука по сценарию цепочки вашего чат-бота или активировать глобальные вебхуки по различным событиям вашего чат-бота и получать информацию в своей системе. Рассмотрим, что такое вебхуки и где они используются, а также как их активировать и какая структура получаемых данных.
Где используются вебхуки
Вебхук — механизм оповещения о событиях посредством отправки HTTP запроса на URL, где находится обработчик.
С помощью этой интеграции вы сможете настроить отправку данных о событии в цепочке бота в свою систему для дальнейшей работы с этим клиентом.
Представьте сценарий: вы создали последовательный опрос для пользователя, чтобы он мог зарегистрироваться на мероприятие в мессенджере. Вам нужно узнать о новом зарегистрированном на определенную лекцию, чтобы связаться с ним или изменить статус в вашей CRM.
Именно с помощью добавленного вебхука вы можете это сделать. Как только пользователь проходит отслеживаемый блок настроенной цепочки, в вашу систему отправляются данные о свершившемся событии.
Как включить отправку вебхука в цепочке
Вы можете добавить вебхук в конструкторе цепочки и отслеживать определенную информацию по мере прохождения нужных вам блоков цепочки:
- в блоке «Сообщение» — введение пользователем своих данных или нажатие на созданную кнопку;
- в блоке «Действие» — открытие чата с администратором, отписку от бота, обновление переменной, присвоение тега;
- в блоке «Цепочка» — запуск новой цепочки;
- в блоке «Пауза» — завершение времени паузы;
- в блоке «Фильтр» — прохождение выставленных условий фильтра;
- В блоке «Запрос API» — получение информации по запросу.
Чтобы вставить отправку вебхука, добавьте блок «Действие» после отслеживаемого блока.
Выберите опцию «Отправить вебхук». Введите название отправляемого вебхука и URL, куда передавать данные.
Как включить глобальные вебхуки
Вы можете также подключить вебхуки, которые будут отправляться по событиям всего чат-бота.
Перейдите в настройки бота, во вкладку «Вебхуки». Активируйте настройку и вставьте URL, на который нужно отправлять данные.
Выберите события, по которым нужно отправлять оповещения, и нажмите «Сохранить» для применения настроек.
Вы можете выбрать следующие события:
«Подписка на бота» — отправляется с информацией о пользователей, когда пользователь подписался на выбранного чат-бота;
«Входящие сообщения» — отправляется при каждом новом входящем сообщении от пользователя в чате с информацией о пользователе и текстом сообщения.
«Исходящие сообщения» — отправляется при каждом отправленном сообщении пользователю с информацией о пользовате и текстом сообщении.
«Открытие чата» — отправляется после прохождения пользователем цепочки с действием с информацией о пользователе.
«Старт пользовательской цепочки» — отправляется при запуске триггерных цепочек с информацией о пользователе и цепочке.
«Переход по ссылке» — отправляется при проходе пользователем по ссылкам в кнопках и тексте с информацией о ссылке, отправляющем блоке и пользователе.
«Отписка от бота» — отправляется при отписке пользователя от бота с информацией о пользователе и боте.
«Заблокировал бота» — отправляется при блокировке пользователем сообщений от бота с информацией о пользователе и боте.
Вы также можете включить отслеживание оплаты в чат-ботах в настройках аккаунта. Читайте подробне: «Как отправить вебхук про успешную оплату».
Структура вебхука
Вебхук передает такие данные:
- дата срабатывания вебхука;
- название вебхука — по
"title"
вы можете на своей стороне фильтровать пришедшие вебхуки; - информация о боте и к какой странице соцсети он подключен — идентификатор, фото и ссылка на страницу сообщества в соцсети;
- информация о контакте для которого произошло событие — идентификатор, имя, день рождения, город, страна, фото профиля, установленные переменные и теги.
Пример вебхука отправляемого из цепочки чат-бота:
[
{
"info": null, // информация из мессенджера
"service": "messenger", // messenger - чат-бот Facebook Messenger, telegram - чат-бот Telegram, vk - чат-бот ВКонтакте
"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
.
Обновлено: 15.03.2023
Регистрация через соцсети
Войти через Facebook Войти через Google