Telegraft

Тип бота

Карта лояльности, которую невозможно забыть дома

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

Боты лояльности и рефералов: цена, сроки и ограничения

Фиксированная цена
$3,800 USD
Срок
18 календарных дней с момента старта
Нагрузка диплинка
64 символа из урезанного алфавита
Проверка покупки
Из одного Telegram невозможна — нужен поток данных с кассы
Идентификация устройства
Telegram не даёт боту постоянный идентификатор устройства
Потолок рассылки
~30 сообщений/сек на бота

As of 2025-10-01, Telegram Bot API 13.4

Какую задачу это решает

У бумажных карточек со штампами известная и нелестная экономика. Большая часть теряется, не дойдя до конца, дошедшие не несут никакой информации о том, кто их заполнил, и вся схема остаётся для вас невидимой до момента, когда кто-то предъявит полную карточку. Вы платите скидкой и не покупаете ровным счётом никаких данных.

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

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

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

Как идёт разработка

  1. Клиент вступает по коду в точке продаж

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

    deep-link
  2. Начисляет персонал, а не клиент

    Участник показывает сменяющийся код из своего чата, сотрудник вводит его в кассовой части бота, штамп добавляется. Начисление по инициативе клиента — механизм, на котором строится любая накрутка, поэтому его здесь просто нет.

    inline-keyboard
  3. Сменяющийся код обесценивает скриншоты

    Код участника меняется по короткому циклу и работает один раз. Скриншот, разосланный в групповом чате, протухает раньше, чем станет полезен, — это закрывает самое частое злоупотребление, не мешая ни одному честному человеку.

    commands
  4. Награда открывается автоматически и сама о себе сообщает

    Как только порог достигнут, клиенту приходит сообщение с готовым кодом на погашение. Оно приходит у кассы, пока человек ещё здесь, — в этот момент оно и конвертируется.

    broadcast
  5. Реферальный код засчитывается на событии, которое выбираете вы

    Не на регистрации, а на первой покупке, третьем визите или на чём угодно, за что вы действительно готовы платить. Награда за регистрацию порождает схему, которая оплачивает аккаунты, а не клиентов.

    deep-link
  6. Лимиты частоты ловят те узоры, которые оставляют накрутки

    Десять начислений от одного сотрудника за пять минут или неестественно ветвящееся реферальное дерево поднимают флаг, а не выплату. Контроль виден руководству, и в этой видимости — большая часть его сдерживающей силы.

    webhook

Что Telegram разрешает, а что нет

Бот не может подтвердить покупку в реальном мире — он лишь записывает то, что ему сообщили.

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

Полезная нагрузка диплинка в команде start ограничена 64 символами из урезанного алфавита.

Реферальные коды — короткие идентификаторы, которые разворачиваются на сервере, а не упакованные в ссылку данные. Побочный плюс: такой код можно отозвать, а зашитый в ссылку — нельзя.

Telegram не даёт боту никакого постоянного идентификатора устройства.

Выявление накруток на уровне устройства невозможно, остаются поведенческие признаки. Один человек с несколькими учётными записями ловится по узору поведения, а не по отпечатку, и контроль строится исходя из этого.

Бот отправляет порядка 30 сообщений в секунду суммарно.

Рассылка по двадцати тысячам участников уходит около одиннадцати минут. Для акции это нормально; для чего-то, объявленного со стартом в конкретную минуту, — нет.

Telegram ограничивает бота, на которого пользователи регулярно жалуются как на спам.

У рекламного объёма есть настоящий потолок, и держит его терпение ваших же участников. Ограничения частоты зашиты в систему, а не оставлены на усмотрение того, кто на этой неделе ведёт кампанию.

Когда это не нужно строить

  • Доля повторных покупок у вас и так высока по причинам, не связанным с ценой. Вы начнёте давать скидку на покупки, которые состоялись бы и без неё, — классический провал программы лояльности.
  • Вы не контролируете поведение персонала на кассе. Каждое начисление идёт через сотрудника, поэтому схема без ответственности персонала превращается в скидку для их знакомых.
  • Ваша маржа не выдерживает награду при той доле погашений, которую даёт работающая схема. Считайте по восьмидесяти процентам погашения, а не по двадцати, которые бумажные карточки дают за счёт потерь.
  • У вас одна точка и меньше сотни постоянных гостей. Вы и так их знаете, а схема добавит процесс, не добавив информации.

На чём это работает

КомпонентВерсияЗачем
grammY1.45Фреймворк бота; отдельные ветки диалога для участников и для персонала.
Cloudflare WorkerscurrentСреда исполнения, включая выпуск и проверку сменяющихся кодов.
Cloudflare D1currentБалансы, журнал начислений, граф рефералов и признаки накруток.
Zod4.4Валидация каждого действия персонала: это и есть чувствительная поверхность.
TypeScript5.9Строгий режим. Журнал баллов — это деньги, и типизирован он соответственно.

О чём спрашивают перед стартом

Как помешать персоналу ставить штампы знакомым?

Технически — никак, и тот, кто утверждает обратное, вам что-то продаёт. Работает другое: журнал начислений по каждому сотруднику, лимиты частоты и еженедельный отчёт, в котором выброс виден сразу. Сдерживание прозрачностью, а не криптографией.

Может ли клиент посмотреть баланс, не спрашивая персонал?

Да, в любой момент, и это одно из самых ценных свойств. Неизвестный баланс — главная причина, по которой держатели бумажных карточек перестают участвовать: карточка лежит дома, и сколько на ней, человек не видит.

В какой момент реферал должен приносить выплату?

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

Какую долю погашений закладывать в расчёт?

Высокую. У бумажных схем погашение низкое, потому что карточки теряются, и эта потеря молча субсидирует скидку. Баланс в переписке не теряется, поэтому считайте близко к полному погашению, иначе экономика вас удивит.

Будет ли схема работать сразу в нескольких точках?

Да: начисление и погашение в любой точке и отчётность по каждой отдельно. Именно вокруг погашения в чужой точке начинаются бухгалтерские споры, поэтому отчёты сделаны так, чтобы эти споры закрывать, а не подытоживать.

Можно ли отправлять участникам акции?

Да, тем, кто сам подключился к боту, и с намеренно осторожными ограничениями частоты. Telegram ограничивает ботов, на которых жалуются как на спам, поэтому перебор с рассылкой ставит под удар сам канал, а не только вовлечённость.