Надёжная передача заявки начинается с её сохранения в системе учёта. Затем в Telegram отправляется уведомление с номером, сайтом, предметом обращения и ссылкой на запись. Доставку уведомления и работу менеджера нужно контролировать отдельно. Ответ Telegram об успешной отправке ещё не означает, что клиенту ответили.
Сообщение «новая заявка, телефон такой-то» лучше полной тишины. Но дальше менеджер начинает расследование: с какого сайта человек пришёл, какой товар выбрал и что вообще хотел? Значительную часть этих вопросов можно снять ещё при передаче формы.
Согласуйте состав сообщения
Для обычной формы нужны номер обращения, время с часовым поясом, сайт, страница и содержание вопроса. Контакт передавайте в тот рабочий канал, где его действительно разрешено обрабатывать, с доступом для нужных сотрудников.
Для магазина добавьте товар, количество и выбранную комплектацию. В мебели название модели не всегда определяет заказ: важны размеры, отделка и дополнительные элементы. У нас несколько партнёров и много сайтов, поэтому домен и город тоже имеют значение.
Если используете рекламные метки, передавайте сохранённые значения, а не догадку о том, откуда пришёл покупатель. Отсутствующую метку можно честно оставить пустой.
Условный пример содержания уведомления:
Обращение № 1042. Сайт: магазин партнёра, город указан в форме. Страница: карточка шкафа. Выбраны модель и отделка; вопрос покупателя — о комплектации. Контакт и полное содержание доступны в карточке обращения. Статус: новое.
Это пример формата, не реальная клиентская заявка. В общий чат необязательно переносить весь объём данных: часто достаточно краткого контекста и доступа к записи по роли.
Сначала сохраните, потом уведомляйте
Предлагаемый порядок такой: сервер проверяет форму, создаёт запись с уникальным номером и ставит уведомление в очередь. Отдельный обработчик отправляет сообщение и сохраняет результат попытки.
Так временная недоступность Telegram не обязана приводить к потере самого обращения. Для этого очередь тоже должна сохраняться надёжно, а не жить только в памяти процесса. Если интеграция сейчас просто отправляет форму в бот, хранение и повторы придётся добавить отдельно.
Посетителю следует показывать подтверждение после надёжного сохранения заявки. Когда запись не создана, нельзя выводить обычное «спасибо, всё получили». Нужны понятная ошибка и доступный запасной способ связаться.
Ключ бота хранится на сервере. Его нельзя помещать в код страницы, который скачивает браузер. Доступ к группе и системе учёта стоит давать сотрудникам по рабочей необходимости.
Если доставка уведомления временно не работает, заявка должна оставаться в учёте. Этот порядок требует надёжного хранения и отдельного контроля неудачных попыток.
Продумайте повторы и неопределённый ответ
В Telegram Bot API метод отправки текста возвращает сообщение при успехе. При ограничении частоты ответ может содержать число секунд, которое нужно выждать перед повтором. Интеграция должна учитывать такие ответы, а не бесконечно отправлять запросы без пауз.
Отдельный случай — соединение оборвалось после отправки, и неизвестно, дошёл ли запрос. Безоговорочный повтор способен дать два уведомления. Сохраняйте номер заявки и состояние попытки. При неоднозначном результате повторное уведомление может прийти с тем же номером; оно не должно создавать вторую заявку в учёте. Не помечайте отправку как окончательно неудачную только из-за обрыва соединения: сообщение могло дойти.
Ограничьте число автоматических попыток и предусмотрите разбор неудач человеком. Канал сообщения об ошибках должен помогать при отказе основного канала. Уведомлять о недоступности Telegram только через Telegram довольно оптимистично.
Отделите доставку от обработки
Статус «уведомление отправлено» нужен интеграции. Статус «принято в работу» нужен бизнесу. Если их объединить, технически успешная отправка превратится в якобы обработанную заявку.
Назначьте получателя и правило передачи. Кто отвечает вечером? Что происходит в отпуске? Где видно обращения без ответа? Даже простая отметка в системе учёта полезнее надежды, что кто-нибудь увидит сообщение в группе.
В Нейрочате мы используем связку сайта с Telegram и историю обращений. Это пример работы с контекстом разговора. Он не означает, что любые формы на всех партнёрских сайтах уже подключены к такой схеме: каждую интеграцию проверяют отдельно.
Сохраняйте один номер обращения на всём пути. Тогда повторное уведомление можно распознать, а необработанную заявку — найти независимо от состояния сообщения.
Проверьте всю цепочку, включая сбой
Отправьте тестовую заявку с телефона. Сравните поля в форме, сохранённой записи и уведомлении. Убедитесь, что комплектация и вопрос не обрезались, а сотрудник может открыть карточку.
Затем проверьте неверный ввод, повторный клик, временную ошибку доставки и восстановление. Посмотрите, сохранилось ли обращение, появились ли понятные статусы и не создался ли дубль. Тестовые записи пометьте и исключите из рабочих итогов.
Завершите проверку действием менеджера: он должен найти заявку, взять её в работу и зафиксировать результат. Если техническая часть работает, а порядок ответа ещё не согласован, процесс пока не готов: назначьте ответственного и договоритесь, где он отмечает результат.
Как выбрать первую автоматизацию, разобрал в отдельной статье. Если хотите привести заявки к такому порядку, можно обсудить ваши формы и получателей.