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