Логика обработки чатов

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

Вопрос: Что значит «диалог закрыт окончательно»?
Ответ: См. здесь.

Вопрос: Какие особенности у настройки auto_assign_to_last_chat_operator?
Ответ: Данная настройка автоназначений работает только с живыми операторами (не ботами) и не имеет срока давности. То есть если от пользователя ранее уже поступали обращения, то новое обращение будет автоматически назначено на того же оператора, что и предыдущее, вне зависимости от того, как давно было совершено последнее обращение пользователя. Более подробно ознакомиться с настройками автоназначений можно в данной статье.

Вопрос: Почему не работает автоназначение?
Ответ: Проверьте, включено ли автоназначение в настройках сервиса. Если данная настройка включена, рекомендуем сравнить цифры общего автоназначения и у конкретных операторов. В случае, если всё настроено корректно, но проблема не решена, Вы можете обратиться в нашу техническую поддержку support@webim.ru.

Вопрос: Почему автоназначение превышает свой лимит?
Ответ: На лимит автоназначений влияет статус диалога, находящегося на операторе. В параметре chat_states_for_count_per_operator указано, в каких состояниях диалог считается находящимся на операторе. Подробнее с работой данного параметра Вы можете ознакомиться в данном материале.

Вопрос: Почему диалог поступил в очередь позже, а распределился раньше?
Ответ: Распределение работает по времени создания диалога, а не по времени попадания в очередь. Диалог, у которого время создания раньше, распределится раньше.

Вопрос: Как сделать, чтобы диалог не закрывался по тайм-аут автозакрытия чата с момента последней активности?
Ответ: Данный тайм-аут отключить невозможно. Вы можете выставить для него очень большое значение, чтобы автозакрытие чата происходило с большой задержкой, но помните, что число незакрытых диалогов влияет на производительность системы.

Вопрос: Не грузится статистика за текущий день. Это ошибка?
Ответ: Стандартным временем расчёта статистики является 15 секунд. Если у Вашего аккаунта большая история сообщений, то статистика не успевает рассчитаться за этот период. Данное поведение не является ошибкой. В конце дня будет запущен скрипт препроцессинга статистических данных за прошедшие сутки, что позволит отразить статистику любого объёма за прошедший день.

Вопрос: Не отображается статистика за прошедший день.
Ответ: Данная проблема может быть вызвана тем, что скрипт препроцессинга статистических данных за прошедшие сутки не обработал их. Вы можете обратиться в техническую поддержку support@webim.ru, чтобы она запустила скрипт препроцессинга данных вручную.

Вопрос: Почему диалог не закрывается по тайм-ауту автозакрытия чата с момента последней активности?
Ответ: Тайм-аут автозакрытия чата с момента последней активности применяется только для чатов в статусах «В диалоге», «Приглашён» и «Закрыт пользователем». Если диалог находится в статусе «В очереди», на него не распространяется тайм-аут автозакрытия чата с момента последней активности. В статусе «В очереди» диалог находится в следующих случаях:

  • Если пользователь задал вопрос, но ему никто не ответил. В таком случае диалог не находится ни на одном из операторов.
  • Если пользователь задал вопрос, ему ответил оператор, но затем диалог был переведён на другого оператора, и новый оператор не ответил. В таком случае диалог также не находится ни на одном из операторов.

Вопрос: Чаты назначаются неравномерно: один оператор нагружен чатами больше, чем остальные.
Ответ: В таком случае проверьте, корректно ли Вы настроили параметры автоназначения. Кроме того, оператор может самостоятельно брать себе обращения сверх лимитов.

Вопрос: Портят ли офлайн-обращения показатели качества?
Ответ: Нет, они рассчитываются как офлайн и не влияют на показатели качества в онлайн-категории.

Вопрос: Почему оператор поговорил с посетителем, потом они молчали, но чат не закрылся, а перешёл позже на другого оператора?
Ответ: Вероятно, незакрытые чаты возвращались в общую очередь раньше, чем выходило время, по которому закрываются неактивные чаты. Обращение в этом случае считалось не обработанным до конца. Поэтому чат всё время до нового назначения висел незакрытым.

Вопрос: Какие состояния может принимать диалог?
Ответ: Диалог может принимать следующие состояния:

  • «В очереди»
  • «Ожидание оператора»
  • «В диалоге»
  • «Закрыто»
  • «Загружается»
  • «Приглашён»
  • «В диалоге (обновлён)»
  • «Перенаправлен»

Подробнее о жизненном цикле чата см. здесь.

Вопрос: Если пользователь сначала вёл диалог без авторизации, а потом авторизовался, — история привяжется?
Ответ: Привяжется история одного последнего неавторизованного чата, если он не закрыт на момент авторизации.

Вопрос: Что происходит при нажатии на крестик в правом верхнем углу чата?
Ответ: Происходит вызов метода webim.api.chat.close(), который фактически не закрывает, а сворачивает чат. Чат как объект не перестаёт существовать. С ним ничего не происходит, виджет сворачивается только визуально и может быть возобновлён в любой момент.

Вопрос: Что считается активностью (для тайм-аута автозакрытия чата с момента последней активности)?
Ответ: Активностью считаются следующие действия пользователей:

  • смена состояния или оператора диалога;
  • посетитель или оператор набирают сообщение;
  • сообщение с одним из следующих Kinds: OPERATOR_BUSY, VISITOR, FILE_VISITOR, CONTACTS, FORM_RESPONSE, OPERATOR, FILE_OPERATOR, CONT_REQ.

Вопрос: Почему неожиданно закрылся диалог?
Ответ: Такое поведение возможно, если авторизованный пользователь ведёт диалог с одного устройства (сессия 1), а на другом устройстве он начинает чат как аноним, а потом авторизуется (сессия 2), — тогда сессия 1 удаляется, а чат в ней закрывается с событием session.delete.