Маршрутизация чатов между операторами и ботами

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

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

Рекомендованные настройки ботов и отделов

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

  • При создании бота необходимо выделять для него отдельную учётную запись оператора, под которой не будут сидеть живые операторы.
  • Настоятельно рекомендуется всегда создавать отдел для бота (при этом в отделе могут состоять и живые операторы).
  • При подключении нескольких ботов рекомендуется помещать их в разные отделы из-за особенностей маршрутизации чатов между несколькими ботами.
  • Для того, чтобы бот в принципе мог брать на себя обращения, установите ему статус онлайн или невидимка; если нужно, чтобы бот перестал брать на себя обращения вообще, переведите его в статус офлайн.

Маршрутизация новых обращений

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

Статусы Оператор Онлайн Оператор Невидимка и другие* Оператор Офлайн
Бот Онлайн Чат будет назначен на бота. Чат будет назначен на бота. Чат будет назначен на бота.
Бот Невидимка Чат будет назначен на бота. Чат будет назначен на бота. Чат будет назначен на бота.
Бот Офлайн Чат будет назначен на оператора. Чат не будет распределён (будет считаться офлайн-обращением). Чат не будет распределён (будет считаться офлайн-обращением).

* В соответствие со статьёй о статусах оператора функционально статусы Невидимка, Обед и Личный перерыв, Технический перерыв, На проведении инструктажа, На встрече, Короткий перерыв равноценны с точки зрения логики распределения чатов и отличаются только названием, но не поведением сервиса. Соответственно, в данном столбце таблицы описывается поведение сервиса в отношении операторов в любом из данных статусов.

Если необходимо, чтобы обращения распределялись только на живых операторов, нужно перевести бота в статус Офлайн.

Маршрутизация чатов при наличии нескольких ботов

Как следует из матрицы выше, если бот находится не в статусе Офлайн, то он всегда берёт на себя все чаты, соответствующие его отделу.

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

  • Порядок сортировки бота, который задаётся при добавлении/редактировании бота: чем меньшее число указано для бота, тем выше его приоритет. Соответственно, все чаты будут распределяться на бота с наивысшим приоритетом.
  • Если бот с приоритетным значением порядка сортировки не отвечает или выдаёт ошибку, чаты будут распределяться на следующего по порядку сортировки бота в статусе Онлайн или Невидимка.

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

Для маршрутизации чатов тип бота (сценарный бот или "умный" бот, подключаемый через External Bot API) значения не имеет.

При этом, если чат был распределён на бота, он может быть в дальнейшем перенаправлен другому боту — например, от сценарного (кнопочного) к умному.

Рекомендуется не добавлять несколько ботов в один отдел, чтобы в одном отделе было не более одного бота.

Повторная маршрутизация обращений

Описанная выше приоритетность ботов во взятии чатов распространяется только на те случаи, когда чат назначается на бота впервые.

Если чат был назначен на бота, а затем снят всего и впоследствии снова попал в общую очередь, повторно назначен на бота чат не будет.

Также при осуществлении перенаправления чата на отдел даже при условии наличия в этом отделе ботов, готовых обрабатывать обращения, чат будет назначен на живого оператора, а не на бота. Повторно чат может быть назначен на бота только целенаправленно (т. е. непосредственно на оператора, к которому прикреплён бот).

Общая схема маршрутизации обращений между отделами и ботами

Описанные выше принципы маршрутизации изображены на схеме.