Mini App вместо бота: когда веб-приложение в Telegram лучше кнопок

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

Что такое Mini App технически

Обычное веб-приложение (у нас — фронтенд + Django API), открывающееся в окне поверх чата. Telegram даёт ему:

  • авторизацию без паролей — приложение сразу знает, кто пользователь;
  • нативные платежи — оплата через Telegram, включая Stars;
  • интеграцию с чатом — кнопка в меню бота, шаринг, уведомления через того же бота.

То есть Mini App не заменяет бота, а дополняет: бот остаётся каналом уведомлений и точкой входа, Mini App — витриной.

Когда хватает кнопочного бота

  • Сценарий линейный: выбрал услугу → выбрал время → подтвердил. Классический пример — бот записи.
  • Позиций в каталоге до ~100.
  • Главная ценность — уведомления и диалог, не браузинг.
  • Бюджет ограничен: кнопочный бот — 20–60 часов, Mini App — 80–160.

Кнопки — это дёшево и работает. Не дайте продать вам Mini App там, где он не нужен.

Когда нужен Mini App

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

Практическое правило: если вы рисуете сценарий бота и на третьем шаге появляется «а тут пользователь сравнивает варианты» — это Mini App.

Почему 80–160 часов

Mini App — это два приложения вместо одного:

  1. Фронтенд — интерфейс со всеми состояниями: загрузка, пустой каталог, нет сети, тема Telegram (светлая/тёмная — да, это надо поддерживать).
  2. Бэкенд — API, база, права, платежи, интеграции с вашими системами.

Плюс валидация данных от Telegram (подпись initData — обязательная защита, без неё любой может прикинуться любым пользователем), плюс бот-компаньон для уведомлений.

Верхняя граница (160+) — это каталоги с синхронизацией из 1С, программы лояльности, высокие нагрузки.

Гибрид: старт с бота, апгрейд до Mini App

Рабочая стратегия для ограниченного бюджета: первая версия — кнопочный бот с ядром сценария, проверка спроса. Спрос есть → Mini App поверх той же базы и того же API. Бэкенд переиспользуется, выброшенной работы почти нет — если API с самого начала проектировался как API, а не как «внутренности бота». Об этом стоит спросить подрядчика до старта — вопросы для проверки собраны в чек-листе заказчика.