Триггеры
Триггер — это ключевое событие, которое запускает ваш сценарий. Проще говоря, это условие, при котором бот начинает действовать. Когда пользователь пишет сообщение, отправляет файл или просто открывает чат — все это триггеры.
Понимание триггеров — основа для построения любой диалоговой логики.
Как работают триггеры в сценарии
В визуальном редакторе сценариев вы добавляете триггеры в шаги (стейты). Каждый шаг может содержать несколько триггеров, и каждый триггер создает под собой отдельную ветку дальнейшей логики.
Порядок выполнения: Слева направо
Внутри одного шага система проверяет триггеры последовательно, слева направо. Если сообщение пользователя содержит условия, удовлетворяющие нескольким триггерам в одном шаге (например, распознано несколько намерений), то система последовательно выполнит ветку для каждого сработавшего триггера, соблюдая порядок слева направо. Это означает, что порядок триггеров имеет решающее значение.
Размещайте более специфичные и важные триггеры левее, а более общие (например, триггер «Прочее») — правее.
Рекомендация по количеству
Для поддержания читаемости и производительности сценария старайтесь не размещать более 8 триггеров в одном шаге. Если логика становится сложнее, лучше разбить ее на несколько последовательных шагов.
Триггеры делятся на две основные группы:
Пользовательские триггеры: Требуют дополнительной настройки (например, выбор конкретного намерения).
Системные триггеры: Срабатывают на системные события (например, отправка файла) и не требуют настроек.
Пользовательские триггеры
Эти триггеры позволяют создавать гибкую и интеллектуальную логику, реагируя на смысл сообщений пользователя.
Триггер «Намерение»
Это самый важный и часто используемый триггер. Он срабатывает, когда NLU-модель распознает в сообщении пользователя определенную цель или намерение.
Настройка: Просто выберите одно или несколько намерений из списка. Сценарий запустится, если будет распознано любое из них.
Пример: Вы создали намерение
Заказ пиццы. Если пользователь напишет "Хочу заказать большую Маргариту", модель распознает это намерение, и сработает триггер, запускающий сценарий оформления заказа.
В списке для выбора доступны только активные намерения. Заархивированные намерения не отображаются.
Триггер «Сущность»
Этот триггер срабатывает, когда в сообщении пользователя обнаруживается определенная сущность (фрагмент данных), например, номер телефона, email или дата.
Настройка: Выберите одну сущность из списка.
Пример: Если пользователь пишет "Мой номер +7 999 123-45-67", триггер, настроенный на системную сущность
Phone, сработает и запустит соответствующую ветку сценария для сохранения номера.
Триггер «Выход»
Этот триггер позволяет корректно завершить текущий сценарий и передать управление дальше. Он необходим, чтобы избежать "зацикливания" пользователя в одной ветке диалога.
Настройка: Выберите один из трех режимов:
out: Передать управление в Q&A или другой сценарий (наиболее частый вариант).qa: Передать управление только в Q&A.flow: Передать управление только в другой сценарий.
Пример: Пользователь находится в сценарии оформления заказа, но вдруг спрашивает "А какая у вас погода?". Триггер «Выход» позволит прервать текущий сценарий и обработать новый запрос.
Системные триггеры
Эти триггеры реагируют на действия пользователя, не связанные с анализом текста. Они не требуют настроек и готовы к использованию "из коробки".
Список системных триггеров
Старт: Срабатывает в самом начале диалога (например, при открытии виджета).
Стикер: Пользователь отправил стикер.
Фото: Пользователь отправил изображение (
jpg,gif,png).Аудио: Пользователь отправил аудиозапись (
mp3,wav).Видео: Пользователь отправил видео (
mp4,avi).Файл: Пользователь отправил документ (
doc,xls,pdfи др.).Гео: Пользователь поделился своей геолокацией.
Прочее: Срабатывает на любое событие, которое не было распознано другими триггерами. Это универсальный триггер для обработки непредвиденных запросов или создания "заглушки" в сценарии.
Как добавить триггер в сценарий? На странице редактирования сценария все доступные триггеры находятся в панели справа. Просто перетащите нужный триггер на рабочую область и кликните по нему для настройки.
Запуск триггера через API
Вы можете запускать сценарии не только действиями пользователя в чате, но и программно, через API. Это открывает безграничные возможности для интеграций: например, вы можете запустить сценарий после успешной оплаты в вашем интернет-магазине или по событию из вашей CRM-системы.
Для этого используется событие с типом intent.
Пример API-запроса для запуска триггера по намерению
В этом примере мы принудительно запускаем сценарий, который должен сработать по триггеру с намерением start_promo_scenario.
Подробную информацию о формате запросов, аутентификации и всех доступных типах событий вы можете найти в полной документации по API.
Последнее обновление