Перейти к содержанию

Сценарный бот

В данной статье содержится описание Сценарного бота, принцип работы, его основные параметры и настройки.

Описание бота

Сценарный бот — это простой робот, действующий как конечный автомат, находящийся всегда в одном из заранее определенных состояний и переключающийся между ними в соответствии с изначально сформулированными условиями и ответами клиента. Описание логики задаётся через страницу "Боты" административного интерфейса с помощью простого табличного редактора, не требующего специальных технических навыков. Интеграции с какими-либо внешними относительно Webim Server системами не требуется. Эта опция присутствует в версиях начиная с 10.0; по умолчанию отключена. Для активации обратитесь к менеджеру или в службу технической поддержки Webim.В версиях 9.х этот бот назывался робот класса JsonRobotLogic, логика его находилась в JSON-файле, размещённом на сервере. Ключевые отличия бота в версии 10.0:

  • добавлен табличный редактор в административный интерфейс;

  • пользователь теперь нажимает на кнопки вместо отправки "ключевых сообщений";

  • конфигурация бота хранится в БД.


Принцип работы бота

Бот прикрепляется к профилю одного из существующих операторов, учётной записью которого определяется, в каких отделах бот будет обрабатывать сообщения.

N.B.

При прикреплении бота к профилю, под которым работает реальный оператор, корректная работа не гарантируется. Для бота требуется создавать отдельную учётную запись.

При назначении чата на бота (производится только в том случае, если статус бота Онлайн) он устанавливает в качестве текущего состояние, отмеченное маркером "Является начальным", далее выполняются связанные с ним Действия и выводятся возможные Кнопки.

При переходе к новому состоянию тут же выполняются Действия, которые связаны с текущим состоянием в том порядке, в котором они расположены, затем выводится список возможных переходов (Кнопки), которые можно осуществить.

Для перехода к новому состоянию пользователь должен нажать на кнопку, соответствующую нужному ему переходу. Сообщения, отправленные пользователем, на текущем этапе игнорируются ботом, но будут видны оператору, который получит этот диалог после перенаправления (если такое предусмотрено).

Из всех состояний, за исключением содержащих действие Перенаправление на операторов, должна быть предусмотрена возможность перехода в другие состояния (к примеру, возврата в главное меню). В противном случае вместо сохранения логики в верхней части страницы появится описание ошибки.


Порядок сортировки

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

Порядок сортировки

Также, если более приоритетный бот по какой-либо причине не смог принять диалог (например, на момент версии 10.0 бот не поддерживает обращения из следующих каналов: Apple Messages for Business, XMPP), диалог примет на себя бот с более низким приоритетом, чем предыдущий. Такая цепочка будет продолжаться, пока диалог не попадёт на бота, который сможет обработать диалог, либо на оператора.


Состояние

Состояние описывает текущее состояние бота: его ID, действия, кнопки, которые будут выведены.

Блок состояния бота

Название параметра Принимаемые значения Описание
ID состояния Текст Уникальный идентификатор, используется для указания, в какое состояние будет осуществлён переход с помощью действия Переход в другое состояние или при нажатии кнопки
Является начальным True/False Маркер, определяющий первое состояние, в котором будет находиться бот.
Начальное состояние может быть только одно.
Добавить действие См. описание типа
Добавить кнопку См. описание типа

Действия

Действия, которые выполняются в момент перехода в новое состояние.

Блок действий бота

Название действия Принимаемые значения Пример Описание
Сообщение Текст Добрый день. Я сценарный робот. В поле указывается сообщение, которое будет отправлено пользователю от лица бота при выполнении данного действия.
Переход в другое состояние ID состояния start В поле указывается ID существующего состояния, в которое перейдёт бот при выполнении данного действия.
Перенаправление на оператора Название отдела Текущий, Без отдела В поле указывается отдел, в который перенаправится диалог.
Текущий — отдел, в котором находится диалог в данный момент.
Без отдела — диалог попадёт в общую очередь.

Параметр Если офлайн в действии Перенаправление на оператора определяет, что будет делать бот, если в отделе, куда перенаправляется диалог, нет операторов в статусе Онлайн:

  • перенаправить: диалог перенаправится в отдел, даже если в нём нет операторов в статусе Онлайн

  • не перенаправлять: никаких действий с диалогом совершено не будет, выполнятся следующие по списку действия


Кнопки

Кнопки, которые будут выведены посетителю.

Блок кнопки бота

Название параметра Принимаемые значения Описание
Заголовок Текст Текст, указанный в данном поле, будет написан на кнопке.
ID состояния ID состояния В поле указывается ID существующего состояния, в которое перейдёт бот при нажатии на данную кнопку.

Основная настройка робота

  1. Создайте нового оператора и добавьте его в отделы, чаты которых должен обрабатывать бот.

  2. В боковом меню Административного интерфейса в пункте Настройки нажмите на блок Боты. Откроется страница настройки существующих ботов.

    Блок "Боты"

  3. На странице Боты нажмите кнопку Создать нового бота.

    Кнопка "Создать бота"

  4. Укажите данные создаваемого бота:

    • Выберите оператора, учётная запись которого была зарегистрирована специально для бота

    • Выберите Тип бота — кнопочное меню

    • Укажите порядок сортировки

    • Укажите статус бота (если хотите, чтобы бот был активен сразу после настройки, укажите статус Онлайн)

    Данные бота

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

    Кнопка "Сохранить"