Диалог с оператором
Как выглядит переписка в виджете: имя оператора, отметка «прочитано», реакции, кнопки, системные сообщения, закрытие обращения посетителем и оценка после закрытия.
Как устроен диалог
Сверху — заголовок: «Добро пожаловать!» (или «Приветственное сообщение» из раздела «Приветствие») и строка о времени ответа. Под ним — лента сообщений, внизу — поле ввода.
Что выводится в ленте:
- Сообщения посетителя — справа, акцентным цветом.
- Сообщения оператора — слева, с аватаром (фото оператора, если нет — логотип проекта или буква) и подписью с именем.
- Сообщения о событиях обращения — оператор взял обращение, передал его, отложил, вернул в работу, переоткрыл, закрыл. Они приходят сообщениями бота (слева, с пометкой BOT) и остаются в истории после перезагрузки страницы.
- Кнопки под некоторыми автоматическими сообщениями — например, в напоминании перед автозакрытием.
Имя оператора
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| conversation.show_operator_name | boolean | true | Конструктор виджетаЧатПоказывать имя оператора. Выключено — над сообщениями оператора вместо имени стоит «Название проекта» из раздела «Брендинг» (или «Команда»), в сообщениях о назначении и закрытии имени нет. Фото оператора при этом по-прежнему показывается. Для Telegram, ВК и других ботов — такой же переключатель в конструкторе бота. |
Отметка «прочитано»
НастройкиКонструктор виджетаПриватность, переключатель «Показывать индикатор 'оператор увидел' посетителю» (conversation.privacy.operator_seen_enabled, по умолчанию включён). Когда оператор открывает обращение в дашборде, под сообщениями посетителя появляется «✓✓ прочитано» — под последним и под всеми более ранними. Это значит «оператор открыл обращение», а не «прочитал каждое слово».
Реакции
Долгое нажатие 350 мс (на сенсорных экранах) или наведение курсора на 600 мс на сообщение оператора открывает панель из 4 эмодзи. Нажатие ставит реакцию — под сообщением появляется счётчик. Реагировать можно только на сообщения оператора. Отдельного переключателя реакций в конструкторе нет: они включены всегда.
❤️,🔥,👍,🎉. По умолчанию ❤️ 👍 👎 🎉. Подробнее — в разделе «Бренд».| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| brand.emoji_pack_id | string | — | Свой набор эмодзи через запятую: ❤️,🔥,👍,🎉. По умолчанию ❤️ 👍 👎 🎉. Подробнее — в разделе «Бренд». |
Реакция сохраняется в SupportHub (POST /api/webhooks/widget/{ws}/messages/{id}/react), но в дашборде операторов реакции посетителей сейчас не отображаются.
Кнопки под сообщениями
Некоторые автоматические сообщения приходят с кнопками — например, напоминание перед автозакрытием. Своих кнопок оператор к ответу не прикрепляет. Кнопка бывает трёх видов:
urlиdeeplink— открывают ссылку в новой вкладке;callback— отправляет нажатие в SupportHub:POST /api/webhooks/widget/{ws}/messages/{id}/inline-callbackс{target}. В обращении появляется внутренняя заметка «Нажата кнопка: target», а у оператора, у которого это обращение открыто, — всплывающее уведомление «Посетитель нажал: target».
Кнопки видны, только пока диалог открыт: после перезагрузки страницы их под сообщением нет.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| conversation.inline_keyboard_enabled | boolean | true | Конструктор виджетаКнопки ответаВключить inline-клавиатуры. Выключено — сами сообщения остаются, кнопки под ними не показываются. |
Системные сообщения
Тексты задаются в НастройкиКонструктор виджетаСистемные сообщения, отдельно для русского и английского. У переключаемых сообщений выключатель прячет сообщение совсем.
На каждое действие оператора — взял, передал, отложил, вернул в работу, переоткрыл, закрыл — в диалоге появляется ровно одно сообщение. Его пишет и сохраняет сервер, на языке, на котором у посетителя открыт виджет, поэтому после перезагрузки страницы в истории та же строка. Подтверждение создания тикета появляется сразу после первого сообщения посетителя.
{number} — первые 8 символов номера обращения, {queue_position} — место в очереди. Пустое поле — подтверждения нет.{operator} — имя оператора. Назначение первым ответом оператора отдельного сообщения не даёт.{department} — название отдела.{time} — дата и время пробуждения в часовом поясе проекта (Настройки → Рабочие часы) с пометкой зоны, например «25.09.2026 10:00:00 МСК». Если обращение отложено до ответа клиента, а в тексте есть {time}, вместо него уходит общий текст без времени.{operator} — имя закрывшего оператора; удалите переменную, чтобы его скрыть.| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
| ticket_confirmation_text | string | "Тикет создан" | «Подтверждение создания тикета» — ответ на первое сообщение нового обращения. Виджет показывает его сразу, а в истории оно остаётся сообщением бота. {number} — первые 8 символов номера обращения, {queue_position} — место в очереди. Пустое поле — подтверждения нет. |
| assigned | { enabled, text } | "Оператор {operator} с вами" | «Оператор назначен» — когда оператор берёт обращение или его назначают. {operator} — имя оператора. Назначение первым ответом оператора отдельного сообщения не даёт. |
| department_transfer | { enabled, text } | "Передаём в {department}" | «Передача в отдел». {department} — название отдела. |
| operator_transfer_text | string | "Передаём другому оператору" | «Сообщение о передаче между операторами». |
| snoozed | { enabled, text } | "Откладываем до {time}" | «Тикет отложен». {time} — дата и время пробуждения в часовом поясе проекта (Настройки → Рабочие часы) с пометкой зоны, например «25.09.2026 10:00:00 МСК». Если обращение отложено до ответа клиента, а в тексте есть {time}, вместо него уходит общий текст без времени. |
| resumed | { enabled, text } | "Возвращаемся к вашему вопросу" | «Диалог возобновлён» — отложенное обращение вернулось в работу. |
| reopened | { enabled, text } | "Тикет переоткрыт" | «Тикет переоткрыт» — закрытое обращение открыли заново. |
| ticket_closed | { enabled, text } | "🔒 Обращение закрыто оператором: {operator}" | «Тикет закрыт» — сервер присылает его обычным сообщением, когда оператор закрывает обращение. {operator} — имя закрывшего оператора; удалите переменную, чтобы его скрыть. |
| blocked_reply | { enabled, text } | { false, null } | «Ответ заблокированным посетителям». Заблокированный посетитель получает этот текст в чате не чаще раза в 24 часа, в каком бы диалоге он ни писал; обращение при этом не создаётся. По умолчанию выключено. |
Кнопка «Закрыть тикет»
В уже существующем обращении между сообщениями и полем ввода есть кнопка с текстом из Конструктор виджетаЧасы работыТекст кнопки 'Закрыть тикет' (по умолчанию «Закрыть тикет»; пустое поле — кнопки нет). Нажатие спрашивает «Закрыть обращение?»; после «Да, закрыть» виджет отправляет POST /api/webhooks/widget/{ws}/ticket/{tid}/resolve — обращение получает статус «решено», — и возвращает посетителя к началу вкладки. Если запрос не прошёл, на 4 секунды появляется «Не получилось закрыть. Попробуйте ещё раз.».
Когда обращение закрывает оператор
Если диалог открыт, поле ввода прячется, а вместо него появляются кнопки «Продолжить» и «Создать новое обращение». В ленту приходит сообщение «Тикет закрыт» (если оно не выключено в конструкторе).
Оценка обращения
Если включено Конструктор виджетаЧатЗапрос CSAT-оценки (по умолчанию выключено), после закрытия обращения — оператором, самим посетителем или автозакрытием — в ленте появляется карточка оценки: «Текст запроса оценки» (по умолчанию «Как мы справились?») и пять звёзд. Когда посетитель выбирает звёзды, появляются необязательный комментарий и кнопка «Отправить». Виджет отправляет POST /api/webhooks/widget/{ws}/rate, и карточка сменяется на «Спасибо за вашу оценку!». Если отправить не удалось, карточка остаётся, и можно попробовать ещё раз.
Пока обращение не оценено, карточка появляется снова каждый раз, когда посетитель открывает это закрытое обращение. Где оценку видят операторы, описано в «Системе оценок».
Прочее
Авто-скролл вниз
Когда посетитель отправляет сообщение, виджет всегда прокручивает ленту вниз. Когда приходит входящее, лента едет вниз, только если посетитель и так был внизу. Если он читает старые сообщения, его не дёргает; на компьютере вместо этого появляется круглая кнопка со стрелкой к последним сообщениям.
Просмотр фото
Клик по фото в переписке открывает его на весь экран. Масштаб — кнопками, клавишами +/-/0, колёсиком с зажатым Ctrl, щипком или двойным кликом; двигать — перетаскиванием. Закрыть — Esc, кликом по фону или крестиком. Видео проигрывается прямо в ленте.

