Email-шаблоны
Для админов

Email-шаблоны

На странице «Настройки → Email-шаблоны» настраиваются все письма, которые система отправляет клиентам: от подтверждения обращения до уведомления о закрытии тикета. Редактор построен как единый конструктор: слева список событий, в центре — редактор темы и тела письма с чипами-переменными, справа — живой предпросмотр с настоящим HTML-макетом.

Шесть событий

Каждое событие — отдельный шаблон с темой письма, телом и переключателем on/off. По умолчанию 4 включены и 2 выключены — включите оставшиеся, когда будете готовы.

  • Ответ оператора (включено) -- когда оператор пишет сообщение в тикет виджета/почты, клиент получает письмо с текстом ответа, обёрнутым в брендированный HTML-макет.
  • Подтверждение получения (включено) -- сразу после создания обращения из виджета, если email предоставлен. Убирает «гул тишины» -- клиент знает, что обращение принято.
  • Обращение решено (включено) -- когда оператор закрывает тикет. Включает время до решения.
  • Обращение переоткрыто (включено) -- когда тикет возвращается в работу после закрытия.
  • Оператор назначен (выключено по умолчанию) -- когда первый оператор берёт тикет в работу. Выключено по дефолту, потому что клиент и так получает подтверждение + первый ответ оператора -- третье письмо часто избыточно.
  • Просьба оценить (выключено по умолчанию) -- после закрытия тикета, если оценка включена в конструкторе бота канала. Содержит ссылку на страницу с 5-звёздной оценкой -- клиент нажимает на количество звёзд, мы записываем в tickets.rating.

Переменные в шаблонах

Редактор темы и тела поддерживает переменные-чипы. Клик по переменной под полем вставляет её в текущую позицию курсора.

  • {workspace_name} -- название workspace
  • {contact_name} -- имя клиента (из контакта или email)
  • {ticket_id} -- короткий ID тикета (8 символов)
  • {ticket_subject} -- тема обращения
  • {operator_name} -- имя оператора (в ответах и назначениях)
  • {reply_body} -- текст ответа оператора (только в шаблоне ответа оператора)
  • {resolution_time} -- время до решения (только в шаблоне закрытия)
  • {rating_url} -- ссылка на страницу оценки (только в шаблоне просьбы оценить)
Легаси-переменные {name} и {workspace} из старого конфига auto_ack продолжают работать -- мы автоматически алиасим их в {contact_name} и {workspace_name}. Миграция существующих workspace-ов не требуется.

Брендинг

Отдельная панель «Брендинг» задаёт общий стиль всех писем workspace:

  • Логотип -- URL изображения (макс. высота 40px), появляется в шапке письма. Если не задан -- показывается название workspace.
  • Цвет акцента -- HEX-цвет верхней полосы и ссылок. По умолчанию indigo.
  • Текст в футере -- например, юридическое название компании или адрес.
  • Имя отправителя -- что клиент увидит в поле «От». По умолчанию -- название workspace.
  • Скрыть футер «SupportHub» -- убирает строку «Отправлено через SupportHub». Доступно только на Enterprise-тарифе. Бэкенд принудительно включает футер на всех остальных тарифах, даже если значение флага в БД иное.

Round-trip с клиентом

Все исходящие письма несут Message-ID, который регистрируется в Redis и привязывается к тикету. Когда клиент отвечает с почты, IMAP-поллер сопоставляет In-Reply-To/References и приклеивает ответ к тому же тикету. Перед сохранением в тикет цитируемый блок («On … wrote:», строки с >, Outlook-заголовки) автоматически вырезается -- оператор видит только новый текст.

Отписка (List-Unsubscribe)

Каждое письмо включает RFC 8058 заголовки List-Unsubscribe и List-Unsubscribe-Post с одноразовым одно-кликовым URL /u/{token}. Gmail и Outlook показывают кнопку «Unsubscribe» в интерфейсе -- клик ставит contacts.email_unsubscribed=true, после чего мы перестаём отправлять этому контакту какие бы то ни было письма из всех 6 шаблонов.

Отписка обратима -- снимите флаг в карточке контакта или через API, если клиент просит возобновить переписку.

Страница оценки

Когда шаблон «просьба оценить» включён, в письмо подставляется подписанная ссылка /r/{token}. Клиент открывает страницу, нажимает на одну из 5 звёзд -- форма сразу отправляется POST-ом, оценка пишется в tickets.rating. Повторные клики перезаписывают значение (клиент может передумать). Страница работает на любом домене, где запущен бэкенд, без авторизации.

Была ли страница полезной?