- Онлайн-консультант Webim
- -
- База знаний
- -
- Для разработчиков
- -
- Маршрутизатор чатов
-
-
-
- 01. Обнаружение нового посетителя, ожидающего ответа
- 02. Выбор посетителя сайта из списка и начало диалога
- 03. Набор ответа посетителю, выбор шаблона
- 04. Запрос контактной информации у посетителя
- 05. Отправка файла посетителю
- 06. Кобраузинг
- 07. «Телепортация» пользователей
- 08. Переадресация диалога другому оператору
- 09. Отправка переписки на адрес электронной почты оператора
- 10. Назначение категории посетителю
- 11. Блокировка посетителя
- 12. Вставка гиперссылки в сообщение
- 13. Добавление заметок
- 14. Проверка орфографии
- Agent`s Handbook
- Как включить оповещения в Google Chrome
- Очереди в РМО
- Работа с офлайн-обращениями на РМО
-
- Алгоритмы назначения чатов
- Видимость диалогов
- Вход в систему
- Генератор лидов и автоприглашения
- График работы
- Добавление кнопки Webim в E-mail
- Закрытие диалогов
- Логотип компании в заголовке чата
- Мониторинг активности сотрудников
- Настройка языков
- Общие настройки организации
- Отделы
- Оценки
- Размещения и настройки кнопки на сайте
- Рассылки
- Регистрация операторов и назначение супервизоров
- Системные сообщения
- Список тайм-аутов
- Финансы
- Функции в каналах общения
- Шаблоны ответов
-
- Встраивание административного интерфейса через iframe
- Как узнать версию своего браузера
- Необходимые доступы на сервер
- Необходимые доступы с сервера
- Обработка файлов, загружаемых в чат
- Рекомендации по настройке мониторинга
- Сетевые конфигурации сервиса Webim
- Системные требования Webim для веб-приложения операторов
- Системные требования Webim для посетителя
- Схемы сетевого размещения серверных компонентов
-
-
-
- Webim Mobile SDK 3.0 для интеграции в мобильные приложения iOS
- Webim Mobile SDK 3.0 для интеграции в мобильные приложения Windows Phone 8.1
- Информация о выпусках (Release notes) – Webim Mobile SDK 3 для Android
- Информация о выпусках (Release notes) – Webim Mobile SDK 3 для iOS
- Справочник по Webim Mobile SDK – SDK для интеграции в мобильные приложения iOS (iPhone/iPad)
- Справочник по Webim Mobile SDK для интеграции в мобильные приложения Android
- Push-уведомления
- Webim Cordova Plugin
-
- Webim CRM postMessage Interface
- Webim Custom Channel API
- Как сделать ссылку кнопкой старта чата
- Маршрутизатор чатов
- Обработчики событий чата
- Процедура установки чата Webim на сайт в iframe
-
Маршрутизатор чатов
Под маршрутизатором (роутером) имеется в виду возможность подключения внешнего от Webim маршрутизатора чатов - сервиса, который определяет, какой оператор или отдел должен обслуживать чат. Сразу после создания и до автораспределения чата информация о нем сначала отправляется из Webim на этот маршрутизатор, и тот может принять решение, куда нужно направить чат.
Маршрутизатор появился в сервисе Webim начиная с версии 9.1.
В версиях 9.1, 9.2, 10.0, 10.1 в базовой комплектации Webim осуществляется поддержка только одного маршрутизатора внутри Webim.ChatBackend с использованием библиотеки suds
. Поддержка большего количества маршрутизаторов возможна в рамках дополнительных работ.
Составляющие маршрутизатора
Функционал маршрутизатора образован совокупностью следующих составляющих:
- Параметр "custom_router_schema_url" в настройках
account confi
g содержит URL внешнего маршрутизатора, к которому будет обращаться Webim Server. - Если в аккаунте маршрутизатор задан, то в процессе инициализации сервера Webim.ChatBackend инициализируется и объект связи аккаунта и маршрутизатора.
- Особое состояние чата:
ROUTING
. Оно говорит о том, что чат находится на маршрутизации и ожидается решение от роутера. Наглядно состояние чата отображено на Схеме жизненного цикла чата. - У отдела есть особый параметр '
routing
', который может принимать значенияTrue
илиFalse
. Отправка чата на маршрутизатор осуществляется только если у отдела данной сессии он принимает значениеTrue
. - Маршрутизация на внешний роутер происходит после создания чата и выполнения ряда условий: например, в аккаунте должен быть прописан и инициирован маршрутизатор, в отделе разрешена маршрутизация, чат не забрал бот и т. д.
- Информация на роутер отправляется в формате SOAP (XML) по WSDL-спецификации. В передаваемый пакет входят ID чата, тип канала, ID пользователя (для Telegram и WhatsApp это канальный ID, в других случаях это либо provided visitor ID, либо канальный ID, либо он вовсе отсутствует), первое сообщение от посетителя и стартовая страница чата.
- В ответ роутер передает Webim пакет данных с указанием, что надо сделать с чатом. Варианты: '
skill
' = маршрутизация на отдел (вызывает событие sys.routing_to_department), 'employee
' = маршрутизация на оператора (вызывает sys.routing_to_operator). Пакет также содержит siebelId (ID посетителя в CRM Siebel) и taskId, которыми обогащается объект посетителя. - Если при маршрутизации произошел сбой, происходит событие sys.routing_failed.
- Если в Telegram-канале посетитель прислал свои контактные данные с номером телефона, то этот телефон отдельно отправляется на роутер, но уже не с целью маршрутизации, а с целью обогащения сессии (объекта посетителя) с помощью siebelId, соответствующим этому номеру телефона.
- Если чат снимается с бота, он снова отправляется на маршрутизатор.
- Есть возможность сделать так, чтобы чат снимался с маршрутизатора и отправлялся в общую очередь, если он маршрутизируется более 30 секунд.
Взаимодействие с частями системы
-
Взаимодействие с сервером чата:
- Используются настройки аккаунта
custom_router_schema_url
иcustom_router_timeout
; - Берётся ключ отдела переданного чата, по ключу выбирается отдел, у него проверяются настройки
routing
; - Используются события чата
sys.routing_to_operator, sys.routing_to_department, sys.routing_failure
; - Маршрутизатор отдает ID отдела или почту оператора, роутер по ним проверяет, что отдел и оператор существуют;
- Роутер обновляет пользовательские поля клиента;
- При формировании запроса в клиентский маршрутизатор используются следующие данные: ID чата, размещение обращения, настройка размещения chat.channel, канал клиента, поле phone клиента, provided id клиента, платформа сессии, URL обращения, имя клиента в канале, provided phone клиента, ID клиента в канале.
- ID чата используется в логировании.
- Используются настройки аккаунта
- Взаимодействие с базой: прямых запросов в базу нет, используются переданные аргументы и данные из памяти.
- Взаимодействие с маршрутизаторами компании: связь осуществляется посредством веб-сервиса (клиент создается с помощью библиотеки
suds
), адрес WSDL-документа для каждого маршрутизатора прописывается в настройках аккаунтаcustom_router_schema_url
. В настройкахcustom_router_timeout
хранятся значения тайм-аутов запросов.
Скачать WSDL-спецификацию.