Кейс: Volts-Bonus — Telegram-бот программы лояльности
Задача клиента
Международной компании Voltsbattery требовался Telegram-бот, который станет центральным элементом программы лояльности и заменит традиционные пластиковые карты. Важным условием был отказ от сбора персональных данных: нужно было идентифицировать клиентов без ФИО и телефона, начислять бонусы по истории покупок и дать менеджерам простой интерфейс для работы без доступа к CRM.
Решение от Flowcore
Мы разработали Telegram-бота Volts-Bonus с регистрацией по номеру договора, бонусной системой, реферальной механикой, интерактивным каталогом и интеграцией с Google Sheets. PostgreSQL используется как основная база данных, а таблицы Google — как понятный рабочий интерфейс для менеджеров.
Бот создает прямой канал коммуникации с клиентами: показывает бонусный баланс, рассчитывает персональные скидки, принимает интерес к товарам и уведомляет менеджеров о потенциальных покупках.
Ключевые реализованные возможности:
- Регистрация без персональных данных: Клиент идентифицируется по номеру договора, без сбора ФИО, телефона и других лишних данных.
- Поиск старых клиентов: Бот сверяет номер договора с исторической базой из Google Sheets и автоматически начисляет приветственные бонусы.
- Бонусы по истории покупок: Для существующих клиентов рассчитывается 2% от суммы прошлых покупок, для новых — отдельный сценарий с фиксированным приветственным бонусом.
- Реферальная система: Пользователь получает уникальную deep-link ссылку, а пригласивший получает 5% кэшбэка с каждой покупки реферала.
- Ручной ввод реферального кода: Предусмотрен сценарий, если клиент пришел по рекомендации, но не использовал ссылку.
- Интерактивный каталог: Витрина товаров работает как слайдер с фото, описанием и динамическим расчетом максимальной персональной скидки до 50%.
- Лидогенерация: Кнопка "Хочу купить" под товаром отправляет мгновенное уведомление менеджеру в специальный чат.
Интеграции и администрирование
Покупки обрабатываются асинхронно: менеджеры заносят продажи в Google Sheets, а фоновый процесс бота через APScheduler забирает новые записи, начисляет бонусы и отправляет пользователям уведомления. Такой подход сохраняет простоту для команды и одновременно оставляет PostgreSQL основным источником правды.
Администраторы и их права синхронизируются из отдельного листа Google Sheets. Внутри бота доступны команды для принудительной синхронизации, ручного начисления и списания бонусов, просмотра системной информации и запуска массовых рассылок.
Технические детали
Проект построен на Python 3.10, Aiogram 3 и SQLAlchemy 2.0 с асинхронным подходом. Для управления миграциями используется Alembic, конфигурация описана через Pydantic, а развертывание выполнено в Docker и Docker Compose с entrypoint.sh для надежного старта приложения.
Результат
Voltsbattery получила цифровую программу лояльности внутри Telegram: клиенты видят бонусы и персональные скидки, приглашают друзей, изучают каталог и оставляют заявки на покупку. Менеджеры продолжают работать в Google Sheets, а бот автоматически превращает их действия в начисления, уведомления и рост вовлеченности.
Стек технологий
Python 3.10, Aiogram 3, PostgreSQL, SQLAlchemy 2.0, Alembic, Pydantic, APScheduler, Docker, Docker Compose, Google Sheets API, entrypoint.sh.