Legan Studio
Все статьи
~ 14 мин чтения

Mini Apps или обычный бот: что выбрать

В каких задачах Telegram Mini App обыгрывает классический бот, а где наоборот. Сравнение по UX, стоимости, скорости запуска и аудитории.

  • Telegram
  • Mini Apps
  • сравнение

Mini App и обычный бот решают разные задачи. Бот — это диалог: вопрос-ответ, кнопки, шаги воронки. Mini App — это сайт внутри Telegram с собственным UI, состояниями, экранами. У обоих свои сильные стороны, и часто правильное решение — сочетать оба.

Где обычный бот выигрывает

Сценарии, в которых классический бот удобнее:

  • Точечные действия в один клик: «отписаться от рассылки», «получить файл», «узнать статус заказа».
  • Сценарии с длинной перепиской: бот для записи, поддержки, FAQ.
  • Уведомления и нотификации: чек после оплаты, напоминание о визите.
  • AI-ассистент: текст в текст, иногда с голосом или картинками.
  • Простые опросы и квизы.

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

Где Mini App выигрывает

Mini App — выбор, когда:

  • Много экранов и сложные формы: каталог, корзина, личный кабинет.
  • Карты, фильтры, медиа-галереи: всё, что плохо ложится на «кнопки и текст».
  • Графика и анимации: игры, визуальные конструкторы, дашборды.
  • Сложные платежи: подписки, апселлы, мультивалютность.
  • Бренд-важный UI: своё оформление, шрифты, цветовая схема.

Mini App — это, по сути, веб-приложение, открытое в WebView Telegram. Доступны все возможности браузера: WebGL, видео, IndexedDB, push через Telegram. Через Telegram WebApp SDK добавляются фишки: MainButton, BackButton, themeParams, HapticFeedback, проверенный initData с user_id.

Сравнительная таблица по 17 критериям

Полное сопоставление двух форматов. Колонка «Кто выигрывает» — субъективная оценка для типового бизнес-кейса.

КритерийБотMini AppКто выигрывает
Стоимость разработки MVP15–150 тыс. ₽300–800 тыс. ₽Бот
Сроки разработки1–3 недели5–12 недельБот
Сложность изменений после запускаПравка одного хендлераРелиз фронта + бэкаБот
UX (нативность, экранное пространство)Узкая лента, кнопкиПолный экран, своя графикаMini App
Клавиатура и ввод данныхReply-кнопки, ForceReplyОбычные input, маски, валидацияMini App
Визуальные компоненты (дизайн, анимации)Только текст и эмодзиЛюбой UI-кит, CSS, motionMini App
Каталог более 20 товаровПерегружает чатСетка, фильтры, лентаMini App
Корзина с фильтрами и сортировкойНевозможно адекватноСтандартная задачаMini App
Оплата (TG Payments / СБП / external)sendInvoicesendInvoice + любой шлюзMini App
Push-уведомленияПрямо в чат, дочитываемость 70%Только если бот «привязан»Бот
Шеринг с друзьямиt.me/bot — старт-экранt.me/bot/app — сразу контентMini App
SEO и поиск внутри TelegramПо имени бота и описаниюПо имени бота, домен не индексируетсяНичья
Аналитика (метрики, тулинг)Логи бэкендаTMA Analytics + ваши событияMini App
Доступ с десктопаTelegram Desktop, роднойTelegram Desktop, WebViewНичья
Кросс-платформенностьiOS / Android / Desktop / WebiOS / Android / Desktop / WebНичья
Обновление без перевыпускаСразу на бэкендеСразу на бэкендеНичья
Аудитория старше 50 летПонятный диалогНужно объяснять, что открытьБот

Когда выбрать обычного бота: 8 чётких сценариев

  1. Уведомления и оповещения. Одностороннее общение: статус заказа, напоминание, чек. Mini App тут избыточен — пользователю нечего тапать, нужен только текст в чате с возможной кнопкой подтверждения.
  2. Простая запись по 3–5 шагам. Мастер маникюра, репетитор, барбер: услуга, дата, время, имя, телефон. Линейный диалог короче и быстрее любого фронтенда.
  3. Чат-бот с оператором. Поддержка, продажи, консультация: переписка человек-человек с возможным эскалейтом. Нативный чат Telegram уже идеален.
  4. Сбор лидов через квиз. 5–10 вопросов с вариантами ответа и финальной формой контактов. Бот закрывает сценарий быстрее, чем Mini App успевает прогрузиться.
  5. FAQ-бот. База вопросов с поиском по ключевым словам или структурой меню. Всё решается InlineKeyboard и парой текстовых ответов.
  6. Опросы NPS. Один вопрос «как оценишь от 1 до 10», второй — «почему». Mini App тут излишен.
  7. Простая покупка одного товара или курса. Одна SKU, одна оплата, одна доставка чека и материалов. sendInvoice → success.
  8. Корпоративные уведомления. CI/CD алёрты, мониторинг, репорты из Jira/GitLab. Бот пушит сообщения в канал или приватный чат, никто не открывает интерфейс.

Когда выбрать Mini App: 8 чётких сценариев

  1. Каталог более 20 SKU с фильтрами. Одежда, продукты, аренда. Нужны категории, поиск, фильтры по цене/бренду/размеру. В чате это превращается в спам.
  2. Чек-аут с корзиной и доставкой по адресу. Несколько товаров, разные количества, выбор доставки и способа оплаты, промокод, итог. Сценарий полноценного e-commerce.
  3. Запись с визуальным календарём и выбором мастера. Сетка свободных слотов, фото и рейтинги мастеров, разное расписание у разных филиалов.
  4. Личный кабинет с историей операций. Банк, EdTech, фитнес: список платежей, прогресс по курсу, расписание тренировок, документы.
  5. Игровые механики, gamification. Карточки, бейджи, лидерборды, анимации, ежедневные задания. В чате это не воссоздать.
  6. Дашборды, аналитика, графики. SaaS, BI, корпоративные кабинеты: чарты, таблицы, фильтры по периодам, экспорт.
  7. Карты и геолокация. Доставка, такси, локальные сервисы: карта с пинами, маршруты, выбор адреса нажатием.
  8. Сложные формы (более 10 полей с валидацией). Заявки на ипотеку, страхование, B2B-онбординг: маски, зависимые поля, файлы, прогресс по шагам.

Гибридная архитектура: бот + Mini App

В большинстве зрелых проектов выбор не «или-или», а «и то, и другое». Бот ловит триггеры (новый заказ, статус доставки, входящее сообщение поддержки) и шлёт уведомления, Mini App открывается по кнопке для каталога, чек-аута, личного кабинета.

Схема обмена данными:

User → Bot:    команда /catalog
Bot  → User:   inline-кнопка «Открыть каталог» с web_app URL
User           кликает → открывается Mini App
Mini App → backend API (запрос с initData в заголовке Authorization)
Backend        проверяет HMAC-подпись initData, возвращает данные
User           оформляет заказ внутри Mini App
Mini App → backend: POST /order
Backend  → Bot API: sendMessage с подтверждением заказа в чат
User → Bot:    видит сообщение «Заказ #123 принят, доставка 12 мая»

Преимущества связки:

  • Сложный UX (каталог, корзина) живёт в Mini App, простые уведомления — в чате.
  • Push-канал остаётся за ботом: пользователь видит сообщения, даже если Mini App закрыт.
  • Один backend, одна база, один user_id из проверенного initData.
  • Onboarding короче: первый контакт через бота, Mini App открывается только когда нужен.

Кейсы из практики: что выбрали и почему

Доставка еды. Mini App для каталога ресторанов, меню, корзины и оплаты. Бот пушит статусы: «Заказ принят», «Курьер выехал», «Прибыл». Без Mini App каталог 200+ блюд в чате нечитаем; без бота клиент не узнает о статусе вовремя.

Запись к стоматологу. Только бот. Аудитория 35–60 лет, средний сценарий 4 шага: услуга, врач, дата, контакт. Mini App дал бы +3 секунды загрузки и снижение конверсии у возрастной части базы.

Онлайн-школа для подростков. Mini App с личным кабинетом: расписание уроков, домашка, материалы, прогресс, чат с куратором внутри приложения. Бот шлёт напоминания за 30 минут до урока и отчёты родителям раз в неделю.

Сервис проката самокатов. Только Mini App. Карта со свободными самокатами, разблокировка по QR, привязка карты, тариф по минутам, история поездок. Сценарий невозможно собрать из инлайн-кнопок.

Юридическая консультация. Только бот. Клиент пишет вопрос, бот эскалирует на дежурного юриста, дальше живой чат. Mini App тут лишний шаг между вопросом и ответом.

Где Mini App проигрывает обычному боту

Чек-лист «не выбирайте Mini App, если»:

  • Аудитория старше 55 лет. Концепция «открыть приложение внутри мессенджера» вызывает фрикцию: пользователь не понимает, где он и как вернуться.
  • Низкий бюджет (менее 300 тыс. ₽). За эту сумму получится только заглушка-витрина без бэкенда; полноценный бот за те же деньги решит задачу лучше.
  • Нужна максимальная скорость до MVP. Бот собирается за 1 неделю, Mini App с нуля — минимум 5 недель.
  • Простой сценарий из 3–5 шагов. Любая воронка короче 7 экранов влезает в инлайн-кнопки и быстрее работает.
  • Нужны частые push-уведомления. Mini App не открыт = ничего не показывает. Push-канал — только бот.
  • Кросс-мессенджер. Если параллельно нужен WhatsApp, MAX, Viber — логику проще держать в боте, у которого почти везде есть аналог.

Метрики и фейлы конверсии Mini App

Где обычно теряют пользователей в воронке Mini App:

  • Кнопка «Открыть» — доходят 70–90%. Норма: пользователь увидел сообщение, кликнул кнопку. Падение ниже 70% — проблема с описанием или UX-сообщением бота.
  • Загрузка Mini App — теряют 5–15%, если интерфейс появляется дольше 2 секунд. Холодный старт критичен: оптимизируйте бандл, прелоадите шрифты, рендерите skeleton.
  • Регистрация или вход — теряют 30–50%, если требуется ещё одно подтверждение помимо initData. Никогда не просите вводить телефон/код, если уже есть проверенный user_id из Telegram.
  • Корзина → checkout — теряют 40–60%. Классические брошенные корзины: убирайте лишние поля, не требуйте регистрацию, минимизируйте шаги.
  • Платёж → success — теряют 10–20% на ошибках платежа: отказ банка, лимит карты, таймаут шлюза. Делайте понятные сообщения и retry.

Чем мерять: Telegram Mini Apps Analytics (встроен в BotFather) даёт DAU, MAU, retention. Кастомные события (event=add_to_cart, event=checkout_start, event=order_paid) — собирайте на бэкенде через POST /event с проверкой initData.

Стоимость и сроки сравнительно

Тип продуктаСрокСтоимость
Бот FAQ1–2 недели80–150 тыс. ₽
Бот лидогенерация (квиз + CRM)2–3 недели150–300 тыс. ₽
Бот запись на услугу + платёж2–4 недели200–400 тыс. ₽
Mini App MVP каталог (до 50 SKU)4–6 недель400–700 тыс. ₽
Mini App full-featured (каталог + ЛК + платежи)8–12 недель800–1500 тыс. ₽
Гибрид: бот + Mini App каталог6–10 недель600–1200 тыс. ₽

Сроки указаны для команды из дизайнера, фронтендера, бэкендера, тестировщика и менеджера. У соло-разработчика умножайте на 1.5.

Аудитория и доверие

Бот выглядит как часть Telegram, и пользователь не воспринимает его как «чужой сайт». Mini App открывает WebView — пользователи иногда видят это как «уход из Telegram», особенно если Mini App открывается долго или содержит куки-баннеры.

Снижается это внимательным онбордингом: первый экран Mini App должен показывать ценность за 1–2 секунды, без модалок и регистраций.

Платежи

В обычном боте платежи доступны через sendInvoice — кнопка «Оплатить», встроенный платёжный экран Telegram. Поддерживаются ЮKassa, Stripe (в некоторых регионах), Stars (валюта XTR).

В Mini App доступны те же платежи плюс свой платёжный сценарий: можно интегрировать СБП, ЮKassa напрямую через своё API, Apple Pay/Google Pay через провайдера. По UX это часто удобнее — пользователь не покидает приложение.

Скорость разработки

Бот «MVP за неделю» — реальность. Mini App «MVP за неделю» — только если у вас уже готов дизайн и шаблон. Реалистичный срок Mini App с нуля:

  • разработка дизайна — 1–2 недели;
  • фронт + бэк — 3–6 недель;
  • интеграции и тестирование — 1–2 недели.

Если время критично, начните с бота, доберите аудиторию, потом дополните Mini App для тех экранов, где бот не справляется.

Гибридный подход

Часто оптимальный сценарий — связка. Например:

  • Бот отвечает на текстовые запросы, шлёт уведомления и собирает базу.
  • Mini App открывается из бота на сложных сценариях: каталог, корзина, оформление.
  • После оплаты Mini App закрывается, бот шлёт чек и инструкции.

Связка bot + Mini App через WebAppData — стандартный паттерн. Бот стартует Mini App кнопкой KeyboardButton или InlineKeyboardButton с типом web_app, Mini App возвращает данные через Telegram.WebApp.sendData.

SEO и шеринг

У Mini App есть приятный бонус: ссылка t.me/your_bot/app шарится напрямую и открывается на телефоне в Telegram, на десктопе — в браузере или через Telegram Desktop. Это даёт каналу для виральности шире, чем у обычного бота, у которого приходится показывать /start экран.

Итого

Берите обычного бота, когда нужен текстовый сценарий, быстрая разработка и минимум UI. Берите Mini App, когда нужен полноценный продукт с экранами, формами, картой или галереей. Чаще всего правильный путь — связка: бот закрывает быстрые действия и нотификации, Mini App — всё, что не помещается в кнопки. Сначала бот, потом Mini App — нормальная стратегия.

Частые вопросы

Что выбрать — Telegram Mini App или обычный бот?

Обычный бот выигрывает на текстовых сценариях: точечные действия в один клик, длинные диалоги (запись, поддержка, FAQ), уведомления, AI-ассистенты, простые опросы. Mini App выигрывает там, где нужны экраны и формы: каталог, корзина, личный кабинет, карты, фильтры, медиа-галереи, игры, сложные платежи с подписками. Чаще всего оптимально — связка: бот для быстрых действий, Mini App для всего, что не помещается в кнопки.

Сколько стоит Mini App по сравнению с обычным ботом?

Mini App для той же задачи дороже в 3–5 раз. Бот «запись на услугу» реально уложить в 15 000–60 000 ₽, Mini App для той же задачи — 80 000–250 000 ₽: нужны экраны, дизайн, фронтенд. Это компенсируется масштабируемостью: бот с 50 экранами кнопок становится нечитаемым, Mini App с 50 экранами — нормальное приложение. Если в перспективе много функций, Mini App дешевле в долгосрочной перспективе.

Сколько времени занимает разработка Telegram Mini App?

Реалистичный срок MVP с нуля: 1–2 недели на дизайн, 3–6 недель на фронт и бэк, 1–2 недели на интеграции и тестирование — итого 5–10 недель. Бот для эквивалентной задачи можно поднять за неделю. Если время критично, корректная стратегия — начать с бота, набрать аудиторию, потом добавить Mini App для тех экранов, где бот не справляется.

Какие платежи поддерживает Telegram Mini App?

Mini App поддерживает все способы из обычного бота через sendInvoice (ЮKassa, Stripe в некоторых регионах, Telegram Stars в валюте XTR), плюс собственный платёжный сценарий: интеграция СБП, ЮKassa напрямую через её API, Apple Pay и Google Pay через провайдера. По UX часто удобнее — пользователь не покидает приложение и платит в едином потоке оформления, без переключения на встроенный платёжный экран Telegram.

Как связать обычного бота и Mini App в одном продукте?

Через стандартный паттерн bot + Mini App с обменом данных. Бот стартует Mini App кнопкой KeyboardButton или InlineKeyboardButton с типом web_app — открывается WebView с приложением. Mini App возвращает данные обратно через Telegram.WebApp.sendData. Типовая связка: бот отвечает на текстовые запросы и шлёт уведомления, Mini App открывается из бота на сложных сценариях (каталог, оформление), после оплаты Mini App закрывается, бот присылает чек.

Когда не стоит делать Telegram Mini App?

Когда сценарий целиком решается текстом и кнопками — там Mini App избыточен и удлиняет путь до действия. Когда нужны точечные нотификации (чек, статус заказа, напоминание) — бот эффективнее. Когда бюджет ограничен и нужен MVP за неделю — начните с бота. Когда аудитория не привыкла к WebView внутри Telegram — для пожилой или нетехнической ЦА Mini App может восприниматься как «чужой сайт» и снижать конверсию.

Как устроена гибридная архитектура бот + Mini App?

Бот ловит триггеры и шлёт уведомления в чат, Mini App открывается по inline-кнопке с типом web_app для сложного UX (каталог, корзина, личный кабинет). Mini App общается с тем же backend, что и бот, через REST API с обязательной проверкой initData в заголовке Authorization. После действия пользователя в Mini App (например, оформления заказа) backend вызывает Bot API sendMessage и присылает подтверждение в чат. Один user_id, одна база, два канала ввода: текстовый — через бота, визуальный — через Mini App.

Какие 8 сценариев точно решаются обычным ботом без Mini App?

Уведомления и оповещения (одностороннее общение). Простая запись по 3–5 шагам (мастер маникюра, репетитор). Чат-бот с оператором (поддержка, продажи). Сбор лидов через квиз. FAQ-бот с поиском по базе. Опросы NPS. Простая покупка одного товара или курса. Корпоративные уведомления (CI/CD алёрты, мониторинг). В этих сценариях Mini App избыточен: воронка короткая, экранов мало, добавление WebView только увеличивает путь до целевого действия и снижает конверсию.

Где обычно теряются пользователи в Mini App и как это измерять?

Воронка распадается так: кнопка «Открыть» — доходят 70–90%; загрузка Mini App дольше 2 секунд — теряют 5–15%; повторная регистрация поверх initData — теряют 30–50%; корзина → checkout — теряют 40–60% (классические брошенные корзины); платёж → success — теряют 10–20% на ошибках банка/шлюза. Мерять через Telegram Mini Apps Analytics (DAU, MAU, retention) плюс кастомные события на бэкенде с проверкой initData: add_to_cart, checkout_start, order_paid, payment_failed. Без событийной аналитики оптимизировать воронку невозможно.