Элемент Условие в чат-ботах

С помощью элемента Условие можно продолжить цепочку чат-бота в зависимости от действий пользователя за пределами бота. Такой подход позволяет строить сложные сценарии взаимодействия, когда дальнейшие сообщения бота зависят от действий пользователя на сайте, в веб-приложении или другом сервисе.

В статье рассмотрим, как настроить и использовать Условие в цепочке.

Добавьте элемент

Элемент Условие отслеживает событие, которое ваша система отправляет через API.

Когда подписчик попадает в элемент, система ожидает запрос от внешнего сервиса. После получения события сценарий продолжится.

Перетащите элемент Условие в нужное место цепочки чат-бота.

Сейчас доступно только одно условие — Событие А360, о котором идет речь в статье. Оно отличается от триггера запуска цепочки Событие A360 тем, что позволяет продолжить текущую цепочку и реализовать сценарий коммуникации.

Настройте передачу данных

Элемент Условие генерирует уникальный URL — эндпоинт SendPulse. Условие сработает, когда на этот URL поступит запрос. Чтобы событие было применено к конкретному подписчику, внешний сервис должен также передать ID подписчика чат-бота.

Идентифицировать пользователя на вашем сайте можно через ID подписчика.

Выполните запрос

В поле Продолжить цепочку после получения данных на ссылку скопируйте URL-адрес и передайте в ваш внешний сервис. Именно на этот URL сформируйте запрос в формате JSON с данными события.

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

Также передайте полученный ID подписчика одним из двух способов:

Через заголовки запроса

Передайте ID в headers:

chatbots-subscriber-id: %YOUR_SUBSCRIBER_CONTACT_ID%

Этот способ удобен для запросов, которые отправляются с бекенда.

Через тело POST-запроса

Передайте ID в таком формате запроса:

{
"chatbots_subscriber_id": "%YOUR_SUBSCRIBER_CONTACT_ID%"
}

Этот вариант чаще используют при отправке запросов с фронтенда.

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

Чтобы проверить запрос и получить данные в ответ, нажмите Слушать запрос сейчас (Listen to request now). При успешном запросе вы получите тело ответа.

Сохраняйте данные в переменные

Настройте сохранение переменных подписчика, полученных через запрос, в переменные подписчика чат-бота.

В секции Сохранять значения: настройки соответствий (Save values: mapping settings) нажмите Добавить (Add). В секции Поле ответа (Response field) слева выберите значение переменной, которое будете использовать, а справа — переменную чат-бота, в которую нужно сохранять значение.

Чтобы добавить новую переменную, нажмите Создать переменную (Create variable) и введите значение.

Укажите интервал ожидания события

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

Отсчет времени начинается с момента, когда подписчик дошел до элемента Условие.

Разделите цепочку

После элемента Условие можно разветвлять цепочку и добавлять блоки по ветвям в зависимости от выполнения условия:

Выполнено Условие выполнилось в течение указанного интервала ожидания события
Не выполнено Условие не выполнилось в течение указанного интервала ожидания события

После получения события можно добавить следующие элементы цепочки.

Пример использования

Рассмотрим кейс Telegram-магазина с веб-приложением, где цепочка чат-бота продолжается после оформления заказа на сайте.

Подписчик переходит в веб-приложение из цепочки бота. Ссылка содержит ID подписчика, который передается как параметр:

https://your-store/store-tg-app.html?contact_id={{contact_id}}

Благодаря этому веб-приложение получает идентификатор подписчика бота.

Вы можете посмотреть пример структуры подобного приложения.

Когда пользователь выбирает товары и оформляет заказ в веб-приложении, система отправляет POST-запрос в SendPulse с данными события:

{
 "chatbots_subscriber_id": "XXXXXXXXXXXXXXXXXXXX",
 "order_items": [...],
 "total_amount": "650",
 "currency": "USD"
}

В запросе передается:

chatbots_subscriber_id ID подписчика чат-бота
order_items Список товаров
total_amount Общая сумма заказа
currency Валюта

Когда SendPulse получает событие, система находит контакт с соответствующим chatbots_subscriber_id и продолжает цепочку.

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

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

Оценка: 5 / 5 (5)

Далее

Элемент ИИ агент в чат-ботах

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

Создайте собственный чат-бот