Telegram

Интеграция Telegram-бота: события, данные и запуск

Условный пример: пользователь оставляет обращение, бот сохраняет его и сообщает номер. Если событие придёт повторно или CRM временно недоступна, система должна сохранить понятный статус и не создать вторую заявку.

BSMGROUP · Опубликовано

Зафиксируйте контракт одного события

  • Вход: тип события, идентификатор, пользователь, согласованный минимум полей и время получения.
  • Действие: проверка прав, поиск уже обработанного события и сохранение состояния заявки.
  • Выход: идентификатор заявки, статус внешнего обмена и понятный ответ пользователю.
  • Ошибка: ответственный за повтор/восстановление и срок хранения диагностической записи без лишних персональных данных.

Выберите один способ получения событий

getUpdates и webhook — альтернативные способы получения обновлений. Для webhook Telegram отправляет HTTPS POST; update_id помогает различать повторные события. Выбор зависит от окружения и способа эксплуатации, а не от названия языка программирования.

При использовании secret_token проверяйте соответствующий входящий заголовок. Храните токен бота и секреты на сервере, отдельно от публичной страницы и журналов. Согласуйте, кто владеет ботом, адресом обработчика и доступом к окружению.

Официальный источник: Telegram Bot API: получение событий

Проверьте повтор и сбой внешней системы

В условном сценарии одно событие с тем же идентификатором должно возвращать сохранённый результат. Отдельный пользовательский запрос получает собственный бизнес-идентификатор: совпадение текста не всегда означает дубль. При асинхронной обработке сначала надёжно сохраните событие, затем выполняйте внешний обмен.

Если CRM не ответила, не сообщайте «заявка создана в CRM». Запишите неопределённый статус, проверьте результат по идентификатору и только затем решайте вопрос повтора. Подтверждение HTTP-запроса не доказывает завершение всего бизнес-процесса или получение ответа человеком.

Не доверяйте браузеру Mini App

Перед использованием данных на сервере проверяйте initData по официальному алгоритму Telegram. initDataUnsafe нельзя считать подтверждённой личностью пользователя. После проверки отдельно применяйте собственные права: подтверждение личности не разрешает доступ к чужим заявкам.

Сумму, статус заказа и владельца записи определяйте серверными данными. Пользовательские поля ограничивайте согласованным форматом. API-ответ или красивый экран оплаты не подтверждает фактическую оплату; её результат должен прийти из согласованного источника.

Официальный источник: Telegram Mini Apps: проверка данных

Примите запуск на пяти сценариях

  • Новое корректное обращение: сохранена одна заявка, номер и состояние можно проверить.
  • Повтор события: нет лишней заявки или второго нежелательного уведомления.
  • Внешний сбой: виден статус, назначен ответственный и работает согласованный путь повтора.
  • Чужая запись или неверные данные: доступ не предоставлен, ошибка понятна, секрет не раскрыт.
  • Перезапуск обработчика: сохранённая заявка и состояние обработки остаются доступны; команда знает, как восстановить работу.

Обсудим вашу задачу

Расскажите о цели, языках и необходимых функциях. Согласуем состав работ и следующий шаг.

Связаться

Напишите нам

Выберите удобный мессенджер

WhatsApp+995 511 24 90 72Telegram@BSMGROUPGEORGIA