Очереди в РМО
Большую роль в работе сервиса Webim играют очереди. В отличие от разделов, они напрямую не видны пользователю, однако именно они определяют порядок обработки обращений. Для поступающих в систему обращений предназначена общая очередь (она отображается в одноимённом разделе). В неё входят прочие очереди, каждая из которых — это набор диалогов в состоянии queue
или offline_queue
с уникальной связкой отдел-язык-офлайновость, не назначенных на оператора. Иными словами, для каждого языка в каждом отделе есть две очереди: онлайн- и офлайн-обращения.
При включённом автоназначении система работает с очередями следующим образом: раз в секунду из всех очередей выбирается самая горячая (с наиболее старым первым диалогом), система пытается найти доступного оператора, на которого можно его назначить. Доступным считается оператор, который находится онлайн, совпадает с диалогом по языку и отделу, а также не занят. Занятым он считается, если на нём находится максимальное число диалогов (max_chats_per_operator
). Если назначить диалог удаётся, выбор самой горячей очереди повторяется, если нет — текущая очередь перестаёт учитываться, пока в системе не произойдёт какое-либо событие (очевидно, если не удалось назначить первый диалог в очереди, то же будет и со всеми остальными диалогами). Переоткрытые, переведённые и тому подобные диалоги ведут себя так же. Обратите внимание, что распределение работает по времени создания диалога, а не по времени попадания в очередь. Диалог, у которого время создания раньше, распределится раньше. Также на порядок назначения может повлиять присутствие веб-страницы в списке Приоритетные страницы. Когда диалог назначается на оператора, он находится в том же состоянии (пока оператор не возьмёт его), но уже не входит в очереди, хотя в сервисе это выглядит так, будто у каждого оператора есть своя очередь назначенных диалогов. При прочих равных условиях выбирается оператор с наименьшим числом диалогов, если таких несколько — оператор выбирается из их числа случайным образом. Однако это можно изменить, см. ниже.
Действует ли автоназначение для офлайн-обращений, по умолчанию определяется той же настройкой, что для онлайн-обращений (auto_assign), но при желании Вы можете обратиться в техническую поддержку, чтобы настроить это поведение отдельно (auto_assign_offline
). Также для них действуют те же тайм-ауты, за одним исключением: тайм-аут ожидания оператора для первого сообщения не работает для офлайн-обращений, находящихся в очереди.
В версиях Webim ниже 10.1 для офлайн-обращений лимит диалогов на операторе считается отдельно, то есть фактическое число диалогов может превысить Максимальное кол-во чатов на оператора вдвое (к примеру, если выставлено 5, то на операторе может находиться до 5 онлайн- и до 5 офлайн-обращений включительно). Если диалог переходит из статуса онлайн в офлайн или наоборот, он переходит и в соответствующий лимит.
Начиная с версии 10.1 для онлайн и офлайн-очередей существует общий лимит количества чатов на оператора (по умолчанию равный 5). Операторам со статусом Онлайн сначала назначаются чаты из онлайн-очереди, а чаты из офлайн-очереди начинают назначаться, если в онлайн-очереди чатов больше не осталось.
На работу автоназначения могут влиять некоторые настройки. Для их изменения нужно обратиться в техническую поддержку:
-
chat_states_for_count_per_operator
— определяет, в каких состояниях диалоги входят в лимит автоназначения как назначенные на оператора. По умолчанию этоchatting
,queue
,offline_queue
иoffline_process
, то есть онлайн- и офлайн-обращения в очереди и в обработке. -
auto_assign_to_last_chat_operator
— если включено (по умолчанию) и если от посетителя уже ранее поступали обращения, то новое обращение будет назначено на того же оператора, что и предыдущее. Если также включеноauto_assign_to_last_chat_operator_if_busy
, то это произойдёт, даже если этот оператор занят. -
auto_assign_priority_by_last_chat_assigned_ts
— если включено, новое обращение будет назначено на того оператора, который дольше всего не получал обращений. -
auto_assign_priority_by_operator_order
— если включено, новое обращение будет назначено на того оператора, у которого меньше всего порядок сортировки, заданный в его профиле. -
operator_department_prioritization
— если включено, в настройках операторов появится вкладка Отделы, где можно будет выставить отделы, где состоит оператор, и их приоритет при автоназначении.