Telegram-бот · Интеграция

AmbassadorBot

Telegram-бот реферальной программы с автогенерацией промокодов, записью в Google Sheets и ежедневным cron-импортом продаж.

2025·Backend
Spring BootMongoDBTelegram Bot APIGoogle Sheets APIDocker

Контекст

Бизнесу нужна была реферальная программа с минимальным трением: амбассадоры регистрируются в Telegram, получают уникальный код и ссылку, а отдел продаж видит количество покупок по каждому коду в привычной Google-таблице.

Решение

/start создаёт амбассадора, генерирует уникальный промокод и реферальную ссылку, пишет запись в первый Google-Sheet (append-only). Ежедневный cron подтягивает количество продаж из второго листа (где менеджеры ведут учёт) и обновляет статистику амбассадоров в MongoDB. Бот отдаёт амбассадору его текущее количество продаж по запросу.

Стек и архитектура

  • Runtime: Java 17, Spring Boot 3.4.2.
  • Хранилище: MongoDB 7 (persistent state амбассадоров).
  • Интеграции: Google Sheets API (один service account, два листа), pengrad Telegram Bot API 8.3.0.
  • Деплой: Docker + docker-compose.

Роль и результат

Полностью самостоятельный backend-проект, который мы сделали под ключ: доменная модель, бот-логика, две независимые Google-Sheets интеграции и cron-импорт. Маркетинг получил программу под ключ без отдельного админ-UI — всё управляется через таблицы.

Похожий проект?

Обсудить подобную задачу

Опишите задачу — расскажем про релевантный опыт и оценим реализацию.