Очереди в РМО

Информация ниже приведена для версии Webim 9.2.

Большую роль в работе сервиса Webim играют очереди. В отличие от разделов, они напрямую не видны пользователю, однако именно они определяют порядок обработки обращений. Для поступающих в систему обращений предназначена общая очередь (она отображается в одноимённом разделе). В неё входят прочие очереди, каждая из которых — это набор диалогов в состоянии queue или offline_queue с уникальной связкой отдел-язык-оффлайновость, не назначенных на оператора. Иными словами, для каждого языка в каждом отделе есть две очереди: онлайн- и оффлайн-обращения.

При включённом автоназначении система работает с очередями следующим образом: раз в секунду из всех очередей выбирается самая горячая (с наиболее старым первым диалогом), система пытается найти доступного оператора, на которого можно его назначить. Доступным считается оператор, который находится онлайн, совпадает с диалогом по языку и отделу, а также не занят. Занятым он считается, если на нём находится максимальное число диалогов ('max_chats_per_operator'). Если назначить диалог удаётся, выбор самой горячей очереди повторяется, если нет — текущая очередь перестаёт учитываться, пока в системе не произойдёт какое-либо событие (очевидно, если не удалось назначить первый диалог в очереди, то же будет и со всеми остальными диалогами). Переоткрытые, переведённые и тому подобные диалоги ведут себя так же. Когда диалог назначается на оператора, он находится в том же состоянии (пока оператор не возьмёт его), но уже не входит в очереди, хотя в сервисе это выглядит так, будто у каждого оператора есть своя очередь назначенных диалогов. При прочих равных условиях оператор выбирается случайным образом, однако это можно изменить, см. ниже.

Действует ли автоназначение для оффлайн-обращений, по умолчанию определяется той же настройкой, что для онлайн-обращений ('auto_assign'), но при желании Вы можете обратиться в техническую поддержку, чтобы настроить это поведение отдельно ('auto_assign_offline'). Также для них действуют те же тайм-ауты, за одним исключением: тайм-аут ожидания оператора для первого сообщения не работает для оффлайн-обращений, находящихся в очереди. Для оффлайн-обращений лимит диалогов на операторе считается отдельно, то есть фактическое число диалогов может превысить "Максимальное кол-во чатов на оператора" вдвое (к примеру, если выставлено 5, то на операторе может находиться до 5 онлайн- и до 5 оффлайн-обращений включительно). Если диалог переходит из статуса онлайн в оффлайн или наоборот, он переходит и в соответствующий лимит.

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

  • 'chat_states_for_count_per_operator' — определяет, в каких состояниях диалоги входят в лимит автоназначения как назначенные на оператора. В версии Webim 9.2 по умолчанию это chatting, queue, offline_queue и offline_process, то есть онлайн- и оффлайн-обращения в очереди и в обработке. В более ранних версиях, где используется состояние closed_by_visitor, оно по умолчанию не входит сюда: закрытые посетителем обращения могут оставаться на операторе, но не учитываются в лимите.
  • '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' — если включено, в настройках операторов появится вкладка "Отделы", где можно будет выставить отделы, где состоит оператор, и их приоритет при автоназначении.