Элемент Вебхук в чат-ботах

Доступно на платном тарифе, а также на время бесплатного семидневного пробного периода

Вы можете настроить отправку вебхука по сценарию цепочки вашего чат-бота или активировать глобальные вебхуки по различным событиям вашего чат-бота и получать информацию в своей системе.

Рассмотрим, что такое вебхуки и где они используются, а также как их активировать и какая структура получаемых данных.

Где используются вебхуки

Вебхук — механизм оповещения о событиях посредством отправки 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.

    Оцените, насколько полезна статья "Элемент Вебхук в чат-ботах"

    Оценка: 4 / 5

    Назад

    Элемент Случайный выбор в чат-ботах

    Далее

    Элемент Запрос API в чат-ботах

    Популярное в нашем блоге

    Попробуйте бесплатный бот для рассылок в Facebook Messenger