Как настроить бот для определения номера телефона и других данных и передачи их в контекст?
Краткий ответ
Бот можно обучить распознавать различные сущности и использовать их в сценариях для взаимодействия с клиентами. Это может быть не только номер телефона, но и другие данные.
Подробнее о доступных шаблонах сущностей можно узнать на странице раздела Сущности.
Принцип работы одинаков для всех сущностей:
Настроенная сущность автоматически распознаётся в сообщении.
Извлечённые данные сохраняются в контексте и фактах.
Доступ к данным осуществляется через два варианта:
имя_сущности.str – отформатированное представление.
имя_сущности.raw – оригинальный ввод пользователя.
Данные распознанной сущности можно получить как напрямую через блок "Текст" в Сценарии, так и через Сниппет. Далее в статье мы рассмотрим, как это сделать.
Инструкция по сборке
Для того чтобы бот мог распознавать номер телефона в сообщении клиента, сохранить и вызвать его из контекста для дальнейшего использования в чате, необходимо настроить три элемента:
Сущность – определяет, какие данные бот будет распознавать.
Сниппет – извлекает номер телефона из контекста.
Сценарий – задаёт последовательность действий бота.
Шаг 1. Настройка сущности
Для начала создадим сущность. Перейдите в раздел Сущности в левой панели главного меню и нажмите "Добавить". В выпадающем списке выберите тип сущности Phone number, задайте произвольное название (например, Phone) и сохраните изменения.
Шаг 2. Настройка сниппета
Перейдите в раздел Сниппеты в левой панели главного меню и нажмите "Добавить".
В зоне редактирования сниппета добавьте следующую строку (как показано на картинке ниже): core.sendText(context.Phone.str)
core.sendText – метод для отправки текста в чат.
context.Phone.str – строковое представление распознанной сущности "номер телефона", которую мы создали на предыдущем шаге.
Шаг 3. Настройка Сценария и воспроизведение в тестовом чате
Перейдите в раздел Сценарии в левой панели главного меню и нажмите "Добавить". Теперь создайте простой тестовый сценарий: перетащите в зону редактирования (зажав левую кнопку мыши) триггер Сущность первым шагом, а затем реакции Сниппет и Текст.
В рабочей зоне необходимо настроить шаги сценария. Для этого щёлкните левой кнопкой мыши на элемент, который вы ранее перетащили в зону, и выберите или введите следующие настройки: для Сущности выберите Phone, для Сниппета укажите getPhoneNumber, а для Текста введите {{Phone.str}}. Сохраните сценарий.
Время проверить результат в тестовом чате. Введите произвольный номер телефона. В ответ вы получите два сообщения от бота: первое – это результат работы сниппета, который извлёк данные сущности из контекста, второе – обращение к распознанному факту прямо в блоке "Текст" Сценария.
Модификации сниппета
При необходимости можно отредактировать сниппет, чтобы он проверял наличие всех номеров телефонов в сообщении, если их несколько. В этом случае бот распознает все номера с помощью метода .others.
Также можно извлечь данные распознанной сущности из истории сообщений с помощью атрибутов .current.meta и .events.meta.
Last updated