Chatwoot для поддержки: сообщения с сайта и Telegram в одном окне
Клиент написал в чат на сайте, потом уточнил вопрос в Telegram и, не дождавшись ответа, отправил всё ещё раз. В компании теперь три обращения, два сотрудника и один немного сердитый человек. Каждый оператор видит только свою часть истории, поэтому оба вежливо просят описать проблему сначала.
Chatwoot позволяет принимать обращения из разных каналов в общем рабочем пространстве. Однако само объединение окон ещё не создаёт службу поддержки. Нужно решить, кто отвечает, как узнавать клиента и что делать с вопросом после первого сообщения. Соберём небольшой процесс для сайта и Telegram, который можно сначала проверить на тестовых обращениях, а затем передать команде.
Содержание
- Что будет считаться рабочим результатом
- Сервер, который не тормозит вместе с оператором
- Подключаем сайт и проверяем настоящий диалог
- Telegram подключаем отдельным ботом
- Два канала не означают одного подтверждённого клиента
- Внутри команды нужен маршрут обращения
- Небольшой журнал контрольных обращений
- Проверка перед первым рабочим днём
Общее окно поддержки на вашем VPS
VPS MAATRIX подойдёт для самостоятельного размещения Chatwoot, базы и вложений. Начните проверку рабочего процесса на конфигурации с 4 vCPU и 8 GB памяти.
ВЫБРАТЬ VPSЧто будет считаться рабочим результатом
В учебном примере у компании есть сайт, бот поддержки и два оператора. Сообщение из любого канала попадает в Chatwoot, получает ответственного и остаётся открытым до решения. Клиент видит ответ там, откуда написал. Внутренние замечания сотрудников не отправляются наружу.
Заранее договоритесь о рабочем времени. Фраза «мы на связи» без уточнений легко превращается в обещание отвечать ночью. Автоматическое приветствие должно сообщать реальные часы и следующий шаг: например, предложить номер заказа, но не банковскую карту или пароль.
Основная единица подключения в Chatwoot называется inbox. Это конкретный входящий канал: виджет определённого сайта или конкретный Telegram-бот. Различие между каналом и inbox разобрано в руководстве проекта. Для нашего процесса нужны два inbox и понятные названия, например «Сайт — покупатели» и «Telegram — поддержка».
Отдельно решите, какие данные допустимо хранить в переписке и сколько времени. Самостоятельное размещение даёт контроль над инфраструктурой, но не заменяет правила обработки клиентской информации.
Сервер, который не тормозит вместе с оператором
В Chatwoot работают веб-приложение, фоновые задачи, PostgreSQL и Redis. Когда сотрудники отправляют вложения, на сервере появляются ещё и файлы. Маленькая страница чата скрывает вполне серьёзное хозяйство.
Для пилота с несколькими операторами разумная исходная конфигурация — MAATRIX Heka Standard: 4 vCPU, 8 GB памяти и диск, рассчитанный на обращения с вложениями. Это запас для проверки реального поведения Rails и фоновых процессов, а не универсальная норма на определённое число диалогов. При росте нагрузки смотрите время ответа интерфейса, очередь фоновых задач и память во время пиков.
Ubuntu 24.04 с Docker — практичный вариант, если текущий выпуск Chatwoot поддерживает такой стек. База и Redis должны оставаться недоступными из интернета. Внешнему миру нужны HTTPS приложения и предусмотренные каналы доставки, администратору — защищённый доступ к серверу.
Полная установка уже разобрана в нашем руководстве по Chatwoot. При подготовке рабочей среды сверяйтесь также с официальным развёртыванием через Docker: версии зависимостей и порядок миграций меняются.
Подключаем сайт и проверяем настоящий диалог
В настройках Chatwoot откройте Inboxes, создайте входящий канал Website, укажите название и адрес сайта. Выберите цвет виджета, приветствие и операторов, которым разрешено отвечать. Сначала подключите его к тестовой странице, где нет реальных покупателей.
Chatwoot выдаст фрагмент JavaScript для установки на сайт. Скопируйте именно код своей установки: в нём находятся адрес сервера и идентификатор виджета. Если сайт использует строгую политику Content Security Policy, разрешите необходимые подключения к своему домену Chatwoot. Не отключайте всю политику ради одного виджета.
Откройте страницу в приватном окне браузера и отправьте сообщение с уникальным текстом, например «Проверка сайта, заказ TEST-104». В рабочем интерфейсе должен появиться новый разговор. Ответьте из учётной записи оператора и убедитесь, что ответ появился у посетителя.
Затем проверьте перезагрузку страницы, переход на другой раздел и отправку небольшого файла. Отдельно испытайте мобильный экран: виджет не должен закрывать кнопку оформления заказа. Технически исправный чат, который мешает купить товар, довольно быстро становится самым обсуждаемым сотрудником магазина.
Если на сайте есть личный кабинет, настройте передачу идентификатора пользователя по предусмотренному Chatwoot механизму и проверьте защиту идентичности. Простое значение email, которое посетитель вводит сам, не является доказательством владения аккаунтом.
Telegram подключаем отдельным ботом
Создайте бота через BotFather или выделите существующего, который предназначен именно для поддержки. Сохраните токен в защищённом хранилище. В Chatwoot добавьте inbox Telegram, передайте токен и назначьте операторов.
Один бот не стоит одновременно подключать к нескольким независимым системам, которые пытаются управлять его webhook. Иначе сообщения могут уходить в старую автоматизацию, а новый интерфейс будет казаться неисправным. Перед переключением выясните, что обслуживало бота раньше, и согласуйте остановку прежнего обработчика.
С личного тестового аккаунта откройте бота, начните диалог и отправьте новый текст. Убедитесь, что обращение появилось именно в Telegram inbox. Ответьте из Chatwoot и проверьте доставку обратно. После этого испытайте изображение и документ в пределах поддерживаемых каналом возможностей.
Не переносите на Telegram ожидания от виджета. У каналов различаются идентификаторы, статусы сообщений и доступные действия. Внешнее сходство двух пузырьков с текстом не делает их одним протоколом.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
АРЕНДОВАТЬ СЕРВЕРДва канала не означают одного подтверждённого клиента
Человек может назвать себя одинаково в браузере и Telegram, но это ещё не повод автоматически объединять профили. Особенно если в истории есть счета, адреса и детали заказов.
Для обычного информационного вопроса достаточно продолжить разговор. Для изменения заказа нужен предусмотренный компанией способ проверки: вход в личный кабинет, подтверждение через зарегистрированный контакт или другой согласованный процесс. Оператор должен видеть, пройдена ли проверка, а не угадывать это по имени.
Если вручную связываете или объединяете контакты, сначала убедитесь в соответствии личности. Зафиксируйте основание в служебной заметке без избыточных персональных данных. Ошибочное объединение может открыть сотруднику чужую историю, поэтому это действие стоит ограничить понятной процедурой.
Практический тест: создайте два разных тестовых профиля с одинаковым отображаемым именем. Убедитесь, что оператор не принимает один за другой и что изменение данных в одном разговоре не влияет на второй.
Внутри команды нужен маршрут обращения
Для начала хватит нескольких меток: оплата, доставка, технический вопрос. Если создать сорок меток до первого обращения, половина будет означать одно и то же, а вторую половину никто не вспомнит.
У каждого открытого разговора должен быть ответственный. Если оператор передаёт вопрос коллеге, он оставляет внутреннюю заметку: что уже проверено, какой ответ нужен и что обещано клиенту. Проверьте на учебном разговоре разницу между внутренней заметкой и публичным ответом. Это маленькое упражнение предотвращает большие неловкости.
Закрывайте разговор после решения или по заранее согласованному правилу ожидания. «Ответ отправлен» и «вопрос решён» — разные состояния. Для отложенных случаев используйте доступные в вашей версии механизмы ожидания и напоминаний, предварительно проверив их поведение.
Сложные функции распределения, отчётности и контроля доступа могут зависеть от редакции продукта. Составьте список обязательных возможностей до внедрения и сверяйте его с лицензией. Аренда VPS не включает коммерческие функции сторонней системы автоматически.
Небольшой журнал контрольных обращений
Заведите таблицу проверок с колонками «канал», «время отправки», «время появления», «ответ получен» и «вложение открывается». Для каждой проверки используйте новый учебный номер. По нему легко найти соответствующий разговор и отличить свежий результат от вчерашнего успешного опыта.
Особенно полезна проверка после смены домена, сертификата или сетевых правил. Сообщения сайта могут продолжать приходить, пока Telegram уже не может обратиться к вашему адресу. Если смотреть только на общий счётчик обращений, частичную неисправность легко пропустить.
Не используйте для постоянного контроля настоящие клиентские данные. В тестовом сообщении достаточно понятной метки и короткого текста. После проверки разговор можно закрыть с отдельной служебной меткой, чтобы он не искажал обычную статистику операторов.
Когда канал перестал работать, запишите время последнего удачного теста и первого сбоя. Это резко сужает поиск причины: изменение настроек, истёкший доступ или обновление становятся проверяемыми событиями, а не воспоминаниями о том, что «вроде вчера всё было хорошо».
Проверка перед первым рабочим днём
Попросите коллегу сыграть клиента. Он пишет с сайта, закрывает вкладку, возвращается, затем обращается в Telegram. Другой человек отвечает, передаёт разговор и оставляет внутреннюю заметку. Задача администратора — наблюдать, где сотрудники вынуждены гадать.
Проверьте отсутствие оператора, нерабочее время, неверное вложение и временную недоступность сервиса. Запишите, куда приходит уведомление о сбое и кто имеет право менять токен бота. Проверка только главной страницы недостаточна: фоновые задачи могут остановиться, пока интерфейс продолжает открываться.
Сохраните резервную копию базы, файлов и настроек. Восстановление проверяйте на изолированной копии без подключения к настоящему Telegram-боту. Две установки, одновременно отвечающие клиентам, выглядят как поддержка с раздвоением личности.
После запуска измеряйте время первого ответа и число обращений, которые потеряли ответственного. Эти показатели полезнее красивого количества созданных тикетов. Хорошая система поддержки делает историю понятной следующему сотруднику и избавляет клиента от повторного пересказа проблемы. Общий интерфейс — лишь место, где эта договорённость начинает работать.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
АРЕНДОВАТЬ СЕРВЕРОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →