Заявки с сайта в Telegram и CRM: как обрабатывать дубли и сбои доставки
Как устроить надёжную обработку заявок с сайта: сначала сохранить, потом отправить в CRM и Telegram с повторами, избежать дублей, разобрать типичные ошибки, принять работу по критериям и вести журнал статусов.

Надёжная схема обработки заявок с сайта строится на одном правиле: сначала сохранить заявку у себя, потом отправлять уведомления. Telegram, CRM и почта — это каналы доставки, а не место хранения. Если CRM недоступна или Telegram отклонил сообщение, заявка не пропадает: сайт повторит отправку позже, а ответственный увидит, что доставка задержалась.
Ниже — почему заявки теряются, схема сохранения и отправки, как избежать дублей, таблица ошибок, критерии приёмки и учебный журнал статусов.
Почему заявки теряются
- CRM не ответила вовремя или вернула ошибку, а сайт отправлял заявку только один раз.
- Telegram ограничил частоту сообщений. По справке Telegram, в один чат стоит отправлять не больше одного сообщения в секунду, в группу — не больше 20 сообщений в минуту, а при превышении бот получает ошибку 429.
- Бота удалили из рабочего чата или сменили токен, и сообщения уходят в никуда.
- Уведомление на почту попало в спам.
- Человек дважды нажал кнопку, и заявка пришла два раза — менеджеры позвонили клиенту дважды.
Во всех этих случаях проблема не в форме, а в том, что заявка существовала только как сообщение в одном канале.
Схема: сначала сохранить, потом отправить
- Форма отправляет данные на сервер сайта.
- Сервер проверяет поля и сохраняет заявку в базу с номером и статусом «новая».
- Посетитель сразу видит подтверждение: заявка принята.
- Отдельный фоновый процесс отправляет заявку в CRM, Telegram и на почту.
- Для каждого канала записывается результат: доставлено или ошибка.
- При ошибке отправка повторяется с паузами: через минуту, через пять, через полчаса.
- Если доставка не удалась за установленное время, ответственный получает тревожное уведомление по другому каналу.
Так посетитель не ждёт, пока ответит CRM, а сбой одного канала не мешает остальным.

Как избежать дублей
На странице. Кнопка отправки блокируется сразу после нажатия и показывает, что заявка отправляется.
На сервере. Форма получает уникальный ключ при загрузке страницы. Если заявка с тем же ключом приходит повторно — из-за двойного нажатия или повторной отправки браузером, — сервер не создаёт новую, а возвращает результат первой.
В CRM. Заявки с тем же телефоном за короткое время можно помечать как возможный дубль, но не удалять: это может быть тот же клиент с новым вопросом.
Таблица ошибок
| Ошибка | Как проявляется | Что делать |
|---|---|---|
| CRM недоступна | Ошибка или нет ответа при отправке | Повторить позже; заявка уже сохранена на сайте |
| Ограничение Telegram (429) | Отказ в отправке сообщения | Подождать и повторить, не отправлять пачкой |
| Бот удалён из чата | Ошибка доступа к чату | Тревога ответственному, вернуть бота в чат |
| Неверный токен бота | Ошибка авторизации | Обновить токен в настройках, проверить, кто имеет к нему доступ |
| Письмо в спаме | Ошибки нет, но письмо не видно | Настроить отправку с подтверждённого домена |
| Двойная отправка | Две одинаковые заявки | Уникальный ключ формы на сервере |
| Ошибка в данных | CRM отклонила поле, например телефон | Привести формат к требованиям CRM, записать причину |
Критерии приёмки
Перед запуском проверьте каждый пункт:
- Заявка сохраняется на сайте, даже если CRM выключена.
- Когда CRM снова доступна, заявка доставляется без участия человека.
- Двойное нажатие кнопки не создаёт вторую заявку.
- При сбое доставки дольше установленного времени ответственный получает предупреждение.
- У каждой заявки есть журнал: когда сохранена, куда и когда доставлена, какие были ошибки.
- Посетитель видит понятное подтверждение и не видит технических ошибок.
Учебный журнал статусов
Так может выглядеть журнал одной заявки, у которой CRM ответила не с первого раза. Время и номера условные:
| Время | Заявка | Канал | Результат |
|---|---|---|---|
| 10:02:11 | 1042 | Сайт | Сохранена |
| 10:02:12 | 1042 | Telegram | Доставлено |
| 10:02:13 | 1042 | CRM | Ошибка: нет ответа |
| 10:03:13 | 1042 | CRM | Ошибка: нет ответа |
| 10:07:13 | 1042 | CRM | Доставлено |

Журнал отвечает на вопрос «где заявка» за минуту, а не за час переписки с подрядчиком.
Отдельно о Telegram
- В рабочий чат отправляйте минимум персональных данных: имя, тему и номер заявки, а полные данные — в CRM. Проверьте, кто состоит в чате.
- Токен бота — это пароль. Он хранится в настройках сервера, а не в коде страницы и не в переписке.
- Если заявок много, отправляйте их по очереди, а не одновременно: ограничения Telegram действуют и для одного чата, и для бота в целом.
Подключение CRM, Telegram-боты и автоматизация процессов входят в направление интеграций PIP — см. страницу услуг. Теряются заявки или приходят дважды? Расскажите о задаче — разберём, где заявка может пропасть по дороге.
Короткие подсказки о сайтах и автоматизации — в Telegram-канале @pip_kz.