События
Сценарии в JAICP поддерживают два способа взаимодействия с ботом:
- Запросы — сообщения, которые пользователь отправляет боту текстом или голосом. Их обрабатывает движок понимания естественного языка (NLU), после чего бот переходит в подходящий стейт и выполняет его реакции.
- События — действия, которые происходят в сценарии бота, в аккаунте JAICP или в канале, который подключен к проекту. В обработке событий не участвует NLU. Если бот может попасть в стейт, который ожидает событие, он сразу переходит в стейт и выполняет реакции.
События могут иметь произвольную природу, например:
- Когда пользователь отправляет в чат файл, канал отправляет событие о получении файла.
- Сам движок NLU генерирует событие, если он не смог распознать запрос.
- Внешний сервис при помощи события может оповестить бота, что пользователь вошел в аккаунт.
Типы событий
Системные события
Системные события по умолчанию доступны во всех сценариях JAICP. Подробнее о доступных событиях вы можете узнать в справочнике системных событий.
Пользовательские события
Разработчик может предусмотреть в сценарии обработку событий с произвольными именами. Такие события обычно используются для интеграции бота во внешние сервисы, например чат-приложения или CRM.
- Если бот подключен к каналу Chat API,
внешний сервис может отправить в чат произвольное событие с помощью методов
/chatapi/{token}
и/chatapi/{token}/async
. - Встроенный сервис
$pushgate
позволяет создавать из сценария события по расписанию, а также пушбэки — специальные сущности для обработки событий через Pushgate API. - Пользовательские события также можно использовать в сценарии, чтобы активировать бота при запуске текстовых рассылок.