Telegram · Mini Apps

Разработка Telegram Mini Apps

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

Обновлено: 29.07.2026Автор: Ринат Садыков
  • Telegram даёт только JS-мост. Домен, сервер, HTTPS и деплой — ваши.
  • Хранилища внутри Telegram крошечные: 1024 записи, 5 МБ, 4096 байт за раз.
  • Функции привязаны к версии Bot API — актуальная 10.2 от 14 июля 2026.
  • Что хостите вы
  • initData
  • Лимиты
  • Версии клиента
  • Stars
  • Цены
Схема Telegram Mini App: клиент Telegram открывает вашу страницу, скрипт telegram-web-app.js передаёт initData, бэкенд проверяет подпись и работает с базой данных и платежами

Коротко

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

Telegram Mini App — это обычная веб-страница на вашем домене, которую мессенджер открывает во встроенном браузере поверх чата. Telegram не хранит её и не участвует в её работе: он подключает скрипт telegram-web-app.js, передаёт данные о пользователе и теме оформления и даёт доступ к нативным возможностям — сканеру QR, тактильной отдаче, биометрии, геолокации, полноэкранному режиму.

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

Выбор формата

Mini App, обычный бот или сайт

Три формата решают разные задачи, и самый дорогой не всегда лучший. Сначала стоит убедиться, что интерфейс вообще нужен: значительная часть запросов на Mini App закрывается кнопками бота.

Линейный сценарий

Обычный бот

Дешевле в разы

Вопрос — ответ — кнопка. Заявка, запись, уведомление, статус заказа.

  • Не нужен хостинг интерфейса
  • Ограничение: нет таблиц, фильтров, карт
  • Порог: больше 7–10 полей — становится мучением

Выбор и расчёт

Mini App

Веб-приложение

Каталог с фильтрами, корзина, календарь брони, калькулятор, личный кабинет.

  • Пользователь уже авторизован Telegram
  • Ограничение: не индексируется поиском
  • Живёт только внутри Telegram
Проверить свой сценарий

Поисковый спрос

Сайт

Трафик из поиска

Нужен, когда людей надо приводить из Яндекса и Google, а не только из мессенджера.

  • Индексируется, живёт на своём домене
  • Ограничение: требует авторизации и ввода данных
  • Часто работает в паре с Mini App

Практическое правило: если пользователю нужно сравнить и выбрать — нужен Mini App. Если нужно сообщить и получить ответ — хватит бота. Если нужно, чтобы вас нашли — нужен сайт.

Границы ответственности

Что даёт Telegram, а что делаете вы

Главное недопонимание в этой теме. «Приложение в Telegram» звучит так, будто Telegram его и держит. На самом деле Telegram отвечает только за окно, в котором открывается ваш сайт.

Telegram: окно и мостВстроенный браузер, скрипт telegram-web-app.js, данные пользователя и темы, нативные возможности — тактильная отдача, сканер QR, буфер обмена, биометрия, геолокация, датчики движения, полноэкранный режим, ярлык на домашнем экране.
Вы: хостинг и доменMini App открывается по вашему адресу. Нужны домен, HTTPS-сертификат с автопродлением и сервер, который не выключается. Это постоянная статья расходов, а не разовая.
Вы: фронтендВёрстка, состояния загрузки, поведение на медленной сети, поддержка светлой и тёмной темы. Telegram сообщает цвета темы, но применять их — задача приложения.
Вы: бэкенд и базаКаталог, заказы, пользователи, история — всё в вашей базе. Хранилища Telegram для этого не предназначены по объёму.
Вы: проверка подлинностиДанные о пользователе приходят из клиента, а клиенту доверять нельзя. Подпись проверяется на сервере; без этого приложение открыто для действий от чужого имени.
Вы: обновления и совместимостьTelegram выпускает новые версии Bot API, часть возможностей появляется только в свежих клиентах. Поддержка старых версий — ваш код и ваши тесты.

Ограничения платформы

Лимиты, о которых узнают уже в разработке

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

Облачное хранилище — 1024 записиCloudStorage хранит до 1024 пар «ключ — значение» на пользователя, ключ 1–128 символов из латиницы, цифр, дефиса и подчёркивания. Синхронизируется между устройствами, но это место для настроек и черновиков, а не для данных.
Локальное хранилище — 5 МБDeviceStorage даёт до 5 МБ на пользователя и живёт на конкретном устройстве. Кэш каталога влезет, история заказов — нет.
Защищённое хранилище — 10 элементовSecureStorage рассчитан на секреты и ограничен десятью элементами. Это не замена авторизации на сервере.
Передача в бота — 4096 байтМетод sendData отправляет боту не более 4096 байт за раз. Большие формы и корзины уходят на бэкенд напрямую, а не через Telegram.
Версия клиента решаетВозможности привязаны к версии Bot API — актуальная 10.2 от 14 июля 2026 года, набор Mini App расширен в 10.0 от 8 мая 2026 года. Метод isVersionAtLeast проверяет, поддерживает ли приложение пользователя нужную функцию. Без проверки часть аудитории увидит сломанный экран.
Диалоги — короткиеСистемное всплывающее сообщение — 1–256 символов, текст кнопки — до 64. Длинные подтверждения и предупреждения приходится рисовать внутри самого приложения.
Скачивание файлов — с условиямиЧтобы Mini App отдал файл, сервер должен вернуть заголовки Content-Disposition: attachment и разрешение источника для веб-клиента Telegram. Это настройка сервера, а не фронтенда.

Источник: Telegram Mini Apps. Telegram развивает платформу быстро — перед проектированием цифры стоит перепроверить по документации.

Безопасность

initData: место, где ломаются дешёвые Mini App

При открытии Telegram передаёт в приложение блок данных о пользователе — идентификатор, имя, язык, параметр запуска. Соблазн очевиден: взять оттуда идентификатор и считать человека опознанным. Так делать нельзя.

Данные приходят из браузера

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

Подпись проверяется на сервере

Telegram подписывает переданные данные. Сервер пересчитывает подпись по HMAC-SHA-256 с ключом, производным от токена бота и строки WebAppData, и сравнивает с присланной. Не совпало — запрос отклоняется.

Для сторонних сервисов — другая подпись

Если данные о пользователе должен проверить не ваш бэкенд, а внешний сервис, используется отдельный параметр с подписью Ed25519 — так третья сторона проверяет подлинность, не зная токена бота.

Что спрашивать у подрядчика

Один вопрос на приёмке: «где в коде проверяется подпись initData и что происходит, если она не сходится». Внятного ответа нет — приложение принимать рано, независимо от того, как оно выглядит.

Деньги

Сколько стоит Mini App по рынку

Под одним и тем же словом продают принципиально разные вещи — от обёртки над готовым каталогом до полноценного приложения с бэкендом. Отсюда разброс.

от 4 500 ₽ · фриланс-биржиНижняя граница предложений на площадках вроде Профи.ру. Как правило, это доработка шаблона или подключение готового конструктора, без своего бэкенда и без проверки подписи данных.
~15 000 ₽ + от 5 000 ₽/мес · конструкторыГотовые платформы Mini App: быстрый запуск, витрина и корзина из коробки. Ограничения те же, что у любого конструктора, — чужая платформа, чужие правила, абонентская плата навсегда и невозможность нестандартной логики.
150 000 – 300 000 ₽ · разработка под задачуНижняя половина студийного диапазона: собственный интерфейс, бэкенд, база, интеграция с ботом и платежами. Здесь Mini App перестаёт быть витриной и начинает работать с вашими данными.
300 000 – 700 000 ₽ · студийный проектПубличные прайсы студий: от 300 000 ₽ и срок от 60 дней, почасовая ставка порядка 2 400 ₽. В эту сумму входит проектная работа — аналитика, дизайн, тестирование, менеджмент.
Срок базового запуска — 2–3 неделиОценка рынка для простого Mini App без сложных интеграций. Дальше срок растёт не от количества экранов, а от числа внешних систем и требований к данным.

Диапазоны собраны из открытых прайсов и обзоров рынка (Профи.ру, Studio ALT, Sostav) в июле 2026 года и приведены как ориентир, а не как моё предложение. К любой из этих сумм добавляется стоимость владения: сервер, домен, сертификат и внешние сервисы.

Смета

Что двигает цену Mini App

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

1. Источник данныхСтатический каталог из десяти позиций и каталог, который синхронизируется с учётной системой, — разные проекты. Синхронизация приносит расписание обновлений, обработку конфликтов и вопрос, что показывать, когда источник недоступен.
2. Оплата внутри приложенияПоявляются сценарии неуспешного платежа, повторной попытки, возврата и сверки. Плюс требование Telegram рассчитываться за цифровые товары в Stars — это отдельная ветка логики и учёта.
3. Личный кабинет и ролиКак только у пользователей появляются разные права, каждое действие нужно проверять на сервере. Это не экраны, это модель доступа.
4. Дизайн под тему TelegramПриложение должно выглядеть родным в светлой и тёмной теме и на разной высоте окна. Готовый шаблон экономит деньги; индивидуальный дизайн — самая заметная статья в смете студий.
5. Поддержка старых клиентовЧем шире аудитория, тем больше людей со старыми версиями Telegram. Каждая проверка версии и запасной сценарий — дополнительный код и дополнительное тестирование.
6. АналитикаВнутри Mini App обычные счётчики работают ограниченно. События приходится размечать самостоятельно и передавать на бэкенд, иначе судить об эффективности будет не по чему.

Точки входа

Как пользователь попадает в Mini App

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

  • Кнопка в профиле бота — главное приложение бота.
  • Кнопка меню рядом с полем ввода — настраивается в BotFather.
  • Кнопка на клавиатуре и кнопка под сообщением.
  • Инлайн-режим — вызов приложения из любого чата.
  • Меню вложений — быстрый доступ из скрепки.
  • Прямая ссылка вида t.me/имя_бота/имя_приложения.

Прямая ссылка поддерживает параметр startapp — в него кладут метку источника, промокод или идентификатор кампании. Это единственный надёжный способ понять, из какой рекламы пришёл пользователь. Параметр mode=compact открывает приложение на половину экрана.

Регистрация приложения

Mini App подключается через BotFather: пункты меню, меню вложений и настройка самого приложения с экраном загрузки.

Нет поискового трафика

Mini App не индексируется. Люди попадают в него из бота, рекламы, канала или ссылки — источник трафика надо планировать отдельно.

Ярлык на экране

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

Честные границы

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

Mini App — модный формат, и его часто заказывают из-за формата, а не из-за задачи. Три случая, где это лишние деньги.

Задача решается кнопками

Запись на услугу, заявка, статус заказа, ответ на вопрос. Всё это укладывается в диалог бота и не требует ни хостинга, ни вёрстки, ни поддержки отдельного приложения.

Нужен трафик из поиска

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

Нет аудитории в Telegram

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

Дальше по теме

Если формат ещё не выбран или задача про обработку обращений, а не про интерфейс.

Разработка и форматы

Данные и аналитика

FAQ

Вопросы о Telegram Mini Apps

Чем Telegram Mini App отличается от обычного бота?

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

Где размещается Telegram Mini App?

На вашем хостинге. Telegram не хранит и не размещает Mini App — он только открывает вашу страницу во встроенном браузере и даёт скрипт telegram-web-app.js для связи с клиентом. То есть Mini App — это ваш сайт: нужен домен, HTTPS-сертификат, сервер и деплой, а после запуска остаются постоянные расходы на всё это.

Сколько стоит разработка Telegram Mini App?

По рынку в 2026 году: у фрилансеров работы стартуют от нескольких тысяч рублей, готовые конструкторы дают Mini App примерно за 15 000 рублей плюс подписка от 5 000 рублей в месяц, студии называют 150 000–700 000 рублей и срок от 60 дней. Разброс объясняется тем, что под словом Mini App продают и обёртку над готовым каталогом, и полноценное приложение с бэкендом.

Насколько безопасен Mini App и что такое initData?

При открытии Telegram передаёт в Mini App данные пользователя — initData. Их обязательно проверять на сервере: подпись считается по HMAC-SHA-256 с ключом, производным от токена бота и строки WebAppData. Без этой проверки любой человек может подставить чужой идентификатор и действовать от чужого имени. Это самая частая уязвимость дешёвых Mini App.

Можно ли хранить данные пользователя внутри Telegram?

Только в очень небольшом объёме. Облачное хранилище Telegram даёт до 1024 записей на пользователя, локальное — до 5 МБ, защищённое — до 10 элементов, а за один вызов sendData бот принимает не более 4096 байт. Поэтому каталог, заказы и история всегда живут в вашей базе данных, а хранилища Telegram используют для мелочей вроде черновика или настроек.

Как пользователь попадает в Mini App?

Семью способами: кнопка в профиле бота, кнопка меню рядом с полем ввода, кнопка на клавиатуре, кнопка под сообщением, инлайн-режим, меню вложений и прямая ссылка вида t.me/имя_бота/имя_приложения. Прямая ссылка поддерживает параметр startapp — через него передают источник перехода или промокод, что позволяет считать эффективность рекламы.

Будет ли Mini App работать у всех пользователей?

Не любая функция. Возможности Mini App привязаны к версии Bot API, которую поддерживает приложение пользователя: актуальная версия Bot API — 10.2 от 14 июля 2026 года, Mini App заметно расширили в 10.0 от 8 мая 2026 года. Пользователь со старым Telegram новую функцию просто не получит, поэтому в коде проверяют версию методом isVersionAtLeast и предусматривают запасной сценарий.

Как принимать оплату внутри Mini App?

Зависит от того, что продаётся. Физические товары и услуги оплачиваются картой через платёжного провайдера, подключённого к боту. Цифровые товары — доступ, подписка, контент — по правилам Telegram оплачиваются только в Telegram Stars, для возврата есть отдельный метод refundStarPayment. Это влияет на экономику и учёт, поэтому вопрос решают до проектирования, а не после.

Заменит ли Mini App мобильное приложение или сайт?

Не заменит, если вам нужны трафик из поиска или работа вне Telegram. Mini App не индексируется поисковыми системами и открывается только внутри мессенджера. Он выигрывает в другом: не требует установки, авторизации и ввода данных — пользователь уже опознан Telegram.

Следующий шаг

Проверим, нужен ли вам Mini App

Часть запросов на Mini App закрывается кнопками бота вдвое дешевле. Опишите главное действие пользователя — по нему уже видно, нужен интерфейс или достаточно диалога.

  • Что пользователь делает: выбирает, считает, бронирует, платит или управляет данными.
  • Откуда берутся данные: учётная система, база, таблица, руками.
  • Нужна ли оплата и что именно продаётся — товар или доступ.

Обсудить сценарий Mini App Чат

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