Самый дорогой шаг в любой мобильной воронке — это установка. Человеку надо зайти в стор, дождаться загрузки, отдать место в памяти и зарегистрироваться. Большинство не доходит. Telegram Mini App убирает этот шаг целиком: клиент жмёт кнопку в чате и сразу оказывается в вашем каталоге.
О названии, потому что здесь путаница. Telegram Mini App, Telegram Web App и «мини-приложение в телеграме» — одно и то же. В официальной документации это Mini App, а Web App осталось с ранних версий API и до сих пор гуляет по старым статьям.
Что такое Telegram Mini App
Telegram Mini App — это веб-страница, которую Telegram открывает в собственном окне поверх чата. Технически ничего экзотического: обычный фронтенд на HTML, CSS и JavaScript, лежащий на вашем сервере. Telegram его просто показывает и даёт доступ к своему JavaScript API: кто зашёл, какая у него тема оформления, кнопки, оплата, камера, геолокация.
Для клиента это выглядит так. Жмёшь кнопку в боте, и через секунду перед тобой приложение: картинки, фильтры, корзина, кнопка оплаты. Ничего не качается из стора, не съедает память и не просит разрешений.
Для бизнеса здесь два настоящих выигрыша. Первый мы уже назвали: барьера установки нет. Второй важнее, чем кажется, — клиент уже авторизован. Вы знаете, кто он, ещё до того, как он что-то нажал, и не прогоняете его через регистрацию, на которой отваливается половина. Плюс масштаб: больше миллиарда активных пользователей в месяц по заявлению Павла Дурова от марта 2025 года, из них около 500 миллионов заходят ежедневно.
Mini App или бот: в чём разница
Бот говорит сообщениями. Mini App показывает экран. Бот ведёт диалог по очереди: вопрос, ответ, следующий вопрос. Mini App выкладывает всё сразу, как обычная страница: двадцать товаров в списке, фильтры, ползунок цены, корзина, которая пересчитывается на лету.
Правило выбора простое, и сводится оно к длине сценария. Меньше семи шагов, нет выбора из длинного списка — берите бота. Заявка на звонок, запись на услугу, статус заказа, рассылка: всё это бот делает лучше, потому что не надо грузить отдельный интерфейс ради трёх вопросов.
Mini App начинается там, где клиенту нужно что-то сравнить или настроить. Каталог на сотню позиций. Калькулятор, где на цену влияет пять параметров. Кабинет с историей заказов. Бронирование, где человек должен видеть календарь целиком, а не тыкать в десять кнопок с датами.
| Telegram-бот | Telegram Mini App | |
|---|---|---|
| Интерфейс | сообщения и кнопки | полноценная страница |
| Каталог на 100+ позиций | мучительно | естественно |
| Фильтры, ползунки, карта | нет | есть |
| Сложный расчёт цены | по одному вопросу | всё на одном экране |
| Рассылки и напоминания | да | только через бота |
| Срок разработки | 5–7 дней | 2–3 недели |
Только на практике это не «или-или». Почти каждый рабочий Mini App живёт в паре с ботом: Mini App принимает заказы, бот шлёт подтверждения, напоминания и статусы. Причина простая. Mini App не умеет написать клиенту первым. Вообще никогда. Это умеет только бот.
Mini App, сайт и мобильное приложение
| Сайт | Мобильное приложение | Mini App | |
|---|---|---|---|
| Установка | не нужна | App Store / Google Play | не нужна |
| Кто клиент | неизвестно | после регистрации | известно сразу |
| Комиссия сторов | — | 15–30% | — |
| Push-напоминания | слабые | есть | через бота |
| Срок запуска | от 2 недель | от 2–3 месяцев | от 2 недель |
| Обновление | мгновенное | через модерацию стора | мгновенное |
Сайт Mini App не заменяет. Сайт ловит поисковый трафик, Mini App не ловит ничего: Google его не индексирует. Зато он делает то, чего сайт не умеет, — узнаёт человека без всякой регистрации и живёт там, где тот и так сидит весь день.
Что Telegram Mini App умеет в 2026 году
Ещё в 2023-м это и правда была «страница в окошке», и скепсис насчёт Mini Apps был заслуженным. Сломало его обновление Bot API 8.0 от ноября 2024 года, которое Telegram сам назвал крупнейшим в истории Mini Apps. Вот что есть по состоянию на Bot API 10.1 (июнь 2026).
Mini App разворачивается на весь экран через requestFullscreen(), умеет альбомную ориентацию и умеет её заблокировать. Умеет положить себе иконку на рабочий стол телефона: addToHomeScreen(), и дальше клиент запускает вас как обычное приложение, только без стора и без установки. Умеет пускать по отпечатку или лицу, держа токен в iOS Keychain и Android Keystore.
Данные можно складывать на стороне Telegram: CloudStorage берёт до 1024 записей на пользователя и синхронизирует их между его устройствами, DeviceStorage даёт 5 МБ локально, SecureStorage — 10 зашифрованных значений. Оплата живёт внутри: Telegram Stars для цифровых товаров и подписок, внешние провайдеры с Google Pay и Apple Pay для обычных покупок. Из более мелкого, но полезного — геолокация с точностью, акселерометр, гироскоп, ориентация устройства, сканер QR, чтение буфера обмена и тактильный отклик.
Половина этого списка вам не понадобится никогда. По-настоящему на деньги влияют три вещи. Иконка на рабочем столе превращает разового клиента в постоянного. Оплата внутри не даёт воронке порваться на переходе к стороннему платёжному окну. А CloudStorage спасает корзину, когда человек начал собирать заказ в метро с телефона, а доложил с ноутбука вечером.
Как это выглядит в бою: три наших проекта
ЗУБР ТАКСИ — калькулятор переезда на шесть шагов
Грузовое такси в Киеве. Задача была не «сделать красиво», а убрать диспетчера из первого касания. Человек, который переезжает, хочет знать одно: сколько это будет стоить. И хочет знать до звонка, а не после десяти минут уточнений в трубку.
Mini App ведёт его шестью экранами: услуга, объём, авто и тариф, маршрут, контакты, подтверждение. Объём задаётся готовыми пресетами вроде «2 комнаты — 14 м³», и под него система сама подсвечивает авто, в которое всё влезет. Внизу всё время висит итог и пересчитывается мгновенно, так что к шагу с контактами человек уже видит свои 4 100 ₴ вместе с этажами, лифтом, километрами за городом и количеством грузчиков.



Внутри PHP 8.3 и SQLite с нулевыми зависимостями. Ни одного фреймворка, ни одного npm. Это не аскеза ради аскезы: все цены, авто и тарифы лежат в одном файле catalog.json, так что поднять стоимость километра можно без программиста и без деплоя логики. Бот на том же коде ведёт заявку от «новой» до «выполненной» и держит диспетчерскую для админа.
Samokrutka — табачный магазин с доставкой Новой почтой
Другой тип задачи: не калькулятор, а магазин. Каталог, наборы, фильтры по наличию, ползунок цены, поиск, тёмная и светлая темы. Карточка товара открывается в том же окне, без переходов, с кнопкой, прилипшей к низу экрана.
Самое интересное здесь — корзина. Промокод, прогресс до бесплатной доставки, выбор оплаты и, главное, выбор города и отделения Новой почты прямо в Mini App. Заказ оформляется до конца, ни разу не покинув Telegram, — а это именно тот шаг, на котором магазины обычно отдают клиента стороннему сайту и теряют часть заказов.



Wokbanda — доставка суши в двух городах
Третий случай интересен тем, чего в нём делать не пришлось. У клиента уже был магазин, отдававший товары через открытый Store API: названия, описания, цены, скидки, фото. Каталог не заводили руками вообще, он тянется из магазина и обновляется вместе с ним. Это самый дешёвый из сценариев, и именно о нём речь ниже в разделе про цену.
Дальше началась конкретика ниши. Одесса и Николаев, у каждого города свои зоны доставки, и границы этих зон нарисованы не в коде, а в Google My Maps: клиенту так удобно править их самому. Mini App тянет карты зон и считает доставку по тому, в какую зону попал адрес.


Другие наши работы — в кейсах.
Четыре ловушки, на которых ломаются Mini App
Это то, о чём не пишут в рекламных статьях. Именно из-за этих четырёх вещей проекты потом переделывают, и именно их стоит спросить у разработчика до того, как платить.
initData проверяет сервер, а не страница
Mini App получает initData, строку с данными пользователя. Подделать её можно за минуту, поэтому доверять ей на фронтенде нельзя вообще. Сервер обязан пересчитать HMAC-SHA-256 подпись ключом, производным от токена бота, и проверить auth_date, чтобы старый запрос не переиграли. Разработчик, который этого не сделал, отдал вам магазин, где кто угодно оформит заказ от чужого имени.
Telegram WebApp API врёт вне Telegram
Вот на этом мы в своё время и напоролись. Объект window.Telegram.WebApp существует в любом браузере, и там честно работают и MainButton, и requestContact. То есть проверка «внутри ли мы Telegram» по наличию этого объекта не проверяет ничего: в обычном Chrome она так же скажет «да». Единственный надёжный признак настоящего клиента — непустой initData. Теперь смотрим только на него.
Цену считает сервер
Если итог формируется только в JavaScript, его перепишут в консоли за пять секунд. В ЗУБРе калькулятор живёт в двух зеркальных копиях: одна на фронте, чтобы цифра менялась мгновенно, вторая на сервере. Заявка принимается только по серверной, и если они разошлись, выигрывает сервер.
Тема и безопасные зоны
Telegram отдаёт свою палитру и может переключиться на тёмную посреди сессии, а на iPhone часть экрана съедают вырезы. Mini App, который не читает themeParams и safeAreaInset, в половине случаев выглядит чужим в собственном мессенджере. Мелочь, которую замечает каждый клиент и не замечает ни один тестировщик на одном телефоне.
Как создать Telegram Mini App: три пути
Путей три, и разница между ними не в цене. Разница в том, кому принадлежит результат.
Конструктор даст готовый каталог за вечер и без строчки кода. Как способ проверить гипотезу, будут ли заказы вообще, это честный вариант. Проблемы начинаются ровно тогда, когда заказы пошли. Данные лежат у сервиса, логика расчёта его, дизайн упирается в шаблон, ежемесячная плата идёт всегда, а забрать свой магазин со своим кодом и перенести на собственный сервер не выйдет никогда. Это аренда, не актив.
Писать самому тоже реально. Mini App — обычный фронтенд, так что подойдёт что угодно: React и Next.js, Vue, Svelte или чистый JavaScript. Telegram цепляется одним скриптом telegram-web-app.js, дальше вы работаете с объектом window.Telegram.WebApp. Бэкенд тоже любой, от Node.js до Go. Только сложность не во фронтенде. Она в проверке initData, серверном пересчёте цен и оплате — то есть ровно в тех трёх местах, о которых мы только что писали выше. На них первые самостоятельные попытки и ложатся.
Разработка под ключ оправдана тогда, когда Mini App для вас канал продаж, а не эксперимент: свои правила расчёта, интеграция с учёткой или CRM, оплата и админка, с которой будет работать менеджер, а не программист.
Отдельно про «без программирования». Собрать Mini App без бэкенда технически можно, если он ничего не хранит. Калькулятор, который посчитал и отдал итог в чат, обойдётся без сервера. Но как только появляются заказы, корзина или остатки, сервер нужен: данные негде держать и некому проверять.
И совет, который мы даём почти каждому: не начинайте с каталога. Начните с одного экрана, закрывающего самый дорогой вопрос клиента — «сколько это стоит». В ЗУБРе этот экран так и остался всем Mini App. Магазин там не понадобился вообще.
Сколько стоит Telegram Mini App
Цену определяет не количество экранов, а то, сколько логики и интеграций под ними. Наши ориентиры:
| Формат | Цена | Срок |
|---|---|---|
| Telegram-бот под заявки | от $180 | 5–7 дней |
| Telegram Mini App | от $490 | 2–3 недели |
| Магазин в Telegram (каталог, корзина, оплата, CRM) | от $720 | 3–4 недели |
В Mini App за $490 входит кастомный интерфейс внутри Telegram, каталог или формы, личный кабинет, бэкенд с хранением данных, оплата внутри Telegram, адаптив и аналитика.
Дорожает проект обычно от интеграции с чужой учётной системой или CRM, от нестандартной оплаты и от сложного расчёта вроде зон доставки или почасовых тарифов. Дешевеет от одной вещи: когда каталог уже существует в машиночитаемом виде и его можно тянуть, а не заводить руками. В Wokbanda именно так и вышло, потому что магазин отдавал товары через открытый Store API.
Точные цифры считаем после брифа и отдаём за 24 часа бесплатно. Пакеты и детали — на странице разработки Telegram-ботов.
Когда Mini App вам не нужен
Честный список, чтобы вы не потратили $490 зря.
Сценарий на три шага интерфейса не требует. «Имя, телефон, заявка» прекрасно живёт в боте: пять дней и втрое дешевле.
Вам нужен поисковый трафик. Mini App не индексируется вообще, так что когда цель — чтобы вас находили в Google, начинать надо с сайта. Mini App разве что дополнением к нему.
Ваша аудитория не в Telegram. Если клиенты пишут в Viber или просто звонят, проверяйте гипотезу лендингом со связкой бот плюс таблица, а не полноценной разработкой.
Каталог заперт в учётке, и никто не готов его отдавать. Магазин без живых остатков и цен сломается на второй неделе. Сначала доступ к данным, потом уже интерфейс.
Несколько тысяч SKU с фасетным поиском. Это уже полноценная платформа, и Mini App тут будет костылём.
С чего начать
Порядок, который экономит деньги:
- Выпишите сценарий клиента по шагам, от «увидел кнопку» до «оплатил». Меньше семи шагов — вам нужен бот, не Mini App.
- Найдите в этом сценарии место, где клиент сравнивает или настраивает. Именно оно и оправдывает отдельный интерфейс.
- Проверьте, откуда будут браться данные. Цены, остатки, статусы должны лежать там, откуда их можно прочитать автоматически.
- Распределите роли. Всё, что надо отправить клиенту первым, делает бот. Всё, что надо показать, делает Mini App.
- Планируйте пару, а не одну штуку. Mini App без бота — приложение, которое не умеет напомнить о себе.
Опишите задачу в нескольких предложениях, и мы скажем, нужен ли вам Mini App вообще. Расчёт готовим за 24 часа. Написать нам.