Кастомные

Автоматическая доставка отчётов партнёрам в Telegram

Доставку отчётов партнёрам перестроили из хрупкого обработчика в устойчивый конвейер с очередью и повтором. Сетевой сбой Битрикса стал задержкой, а не потерей: через систему идёт до 5 895 доставок в неделю.

Клиент Компания с партнёрской сетью
Отрасль B2B · партнёрская сеть
Срок 2 недели
Тип Автоматизация доставки
5 895 доставок за неделю на пике
0 потерянных отчётов при сбое сети
1 очередь с повтором вместо хрупкого обработчика

Задача

Компания с большой партнёрской сетью регулярно рассылает партнёрам файлы-отчёты в Telegram — сотни отправок в неделю, разные типы отчётов, всё управляется из Битрикс24 и должно храниться с историей. Старая схема держалась на одном обработчике, который при недоступности Битрикса молча не запускал доставку — и отчёты просто терялись, без следа и без повторной попытки.

Что было

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

Что сделали

  • Перестроили доставку в устойчивый конвейер: элемент в Битрикс24 создаёт тонкий приёмник, который мгновенно кладёт задачу в файловую очередь, а фоновый воркер под systemd разбирает её по очереди.
  • Ключевое изменение: если Битрикс временно недоступен, задача не удаляется из очереди — воркер ждёт и повторяет. Сетевой сбой превратился из потери отчётов в короткую задержку, а бизнес-процесс при этом не запускается дважды.
  • Дальше по цепочке: бизнес-процесс кладёт файл на Диск, Go-сервис генерирует публичную ссылку, и бот отправляет отчёт партнёру в Telegram.
  • Отдельно закрыли безопасность привязки чатов: вместо идентификатора партнёра в ссылке используются одноразовые коды-соли, по одной активной ссылке на партнёра.

Что получилось

  • Через конвейер проходит пиковый объём порядка 5 895 доставок за неделю по десяткам типов отчётов.
  • Сетевые сбои Битрикса больше не приводят к потере отчётов — очередь дозаливается после восстановления связи.
  • Привязка Telegram больше не раскрывает идентификаторы партнёров.
  • Вся история отправок хранится в Битрикс24 и управляется менеджером без разработчика.

Имя клиента не раскрывается по NDA. Реальные имена и подробности обсуждаем в брифе.

Похожая задача?

Опишите кратко — за 1–2 дня вернёмся с разбором и оценкой по часам. Если решение тиражное — честно скажем.

✈ Telegram