Про мини-приложения Telegram спрашивают и разработчики, и владельцы бизнеса — и ищут они совершенно разное.
В выдаче в основном руководства для программистов: как поднять React-приложение, как получить данные пользователя, какой SDK взять. Полезно, если вы пишете код. Бесполезно, если вам надо решить, заказывать это или обойтись ботом.
Здесь — вторая половина вопроса: что мини-приложение даёт бизнесу, чем оно дороже бота, как в нём устроены деньги и где проходит граница, за которой интерфейс необходим. По дороге разберём 7 способов запуска приложения и 2 разных правила оплаты — для цифровых товаров и для физических, потому что именно на них чаще всего спотыкаются. Техническая часть тоже есть, но с той стороны, где она превращается в сроки и деньги.
Что это такое
Мини-приложение — это обычная веб-страница, которая открывается внутри Telegram и получает от мессенджера то, чего у сайта в браузере нет: кто её открыл, тему оформления, кнопки управления и доступ к оплате.
Официальная документация формулирует прямо: с помощью мини-приложений разработчики создают интерфейсы, которые запускаются внутри Telegram и могут полностью заменить сайт.
Отсюда три следствия, важные для решения.
Это веб-разработка. Внутри — тот же HTML, CSS и JavaScript. Значит, действуют обычные правила: интерфейс надо проектировать, верстать и поддерживать. Мини-приложение не «настройка бота», это отдельный продукт.
Человек не выходит из мессенджера. Он не переключается в браузер, не логинится, не вводит имя и телефон — Telegram уже знает, кто это. Каждый шаг, который убран из пути, добавляет конверсию.
Оно не индексируется. У мини-приложения нет своей страницы в поиске. Люди попадают в него из Telegram — из бота, ссылки, рекламы или канала. Поисковый трафик приводит сайт, а не мини-приложение, и это стоит учитывать в планах.
Бот, мини-приложение или сайт
Три инструмента, которые часто путают, потому что все три «работают в интернете».
- Действие описывается разговором
- Вопрос — ответ — подтверждение
- Позиций мало, выбор простой
- Запись, заявка, статус заказа
- Уведомления и напоминания
- Нужно листать и сравнивать
- Каталог с фильтрами и картинками
- Корзина и оформление заказа
- Личный кабинет с историей
- Карта, календарь, конструктор
Проверка на практике простая: попробуйте описать нужное действие как переписку. «Покажи свободное время — выбери день — подтверди» описывается легко, значит хватит бота. «Посмотри сорок товаров, отфильтруй по размеру, сравни два и положи в корзину» в переписку не укладывается — здесь нужен интерфейс.
Сайт при этом никуда не девается: он приводит людей из поиска и работает для тех, кто не в Telegram. Мини-приложение обслуживает тех, кто уже пришёл. Задачи разные, и одно другое не заменяет.
Семь способов запуска
Это то, чего нет в статьях-инструкциях, а решает многое: способ запуска определяет, откуда придут люди и что мини-приложение получит на входе. Документация Telegram перечисляет семь вариантов.
| Способ запуска | Откуда открывается | Когда удобен |
|---|---|---|
| Главное мини-приложение | кнопка в профиле бота | основной продукт компании |
| Кнопка меню бота | синяя кнопка рядом с полем ввода | постоянный вход, каталог |
| Инлайн-кнопка | под конкретным сообщением | шаг сценария: выбрать, оплатить |
| Кнопка клавиатуры | клавиатура под чатом | простые формы, отправка данных боту |
| Инлайн-режим | из любого чата через @имя_бота | поделиться, показать другому |
| Прямая ссылка | из рекламы, с сайта, из письма | привод трафика извне |
| Меню вложений | скрепка в чате | сценарии внутри переписки |
Для бизнеса рабочих обычно три. Кнопка меню — постоянный вход, её видно всегда. Инлайн-кнопка — точечный вызов внутри сценария: бот спросил, что нужно, и открыл нужный экран. Прямая ссылка — единственный способ привести человека снаружи: её ставят в рекламу, на сайт и в рассылку.
Разница между кнопкой клавиатуры и инлайн-кнопкой не косметическая. Мини-приложение, открытое кнопкой клавиатуры, умеет отправить данные обратно боту служебным сообщением — и бот отвечает, не обращаясь ни к какому внешнему серверу. Для простой формы это означает, что серверная часть вообще не нужна: заявка приходит боту напрямую. Инлайн-кнопка даёт больше — данные о пользователе и возможность отправить сообщение от его имени, — но требует полноценного бэкенда.
Авторизация: где чаще всего дыра
Когда мини-приложение открывается, Telegram передаёт ему строку initData — данные о пользователе: идентификатор, имя, язык, иногда чат, из которого пришли. Эта строка подписана.
Ключевое правило: подпись обязательно проверять на своём сервере. Данные приходят на сторону браузера, а всё, что приходит в браузер, пользователь может подменить. Мини-приложение, которое верит initData без проверки, пускает под чужим именем любого, кто откроет консоль разработчика.
Это не теория, а самая частая уязвимость наспех сделанных мини-приложений. Проявляется она предсказуемо: сначала всё работает, потом кто-то видит чужой заказ или чужой баланс.
С обновлением Bot API появилась деталь, полезная тем, кто заказывает разработку у подрядчика: сторонние сервисы и конструкторы теперь могут проверять данные не зная токена вашего бота. Раньше конструктору приходилось отдавать токен — то есть полный доступ к боту. Если вам предлагают сервис, который до сих пор требует токен для работы с мини-приложением, это повод спросить, зачем.
Деньги: два разных правила
Самая практичная часть и та, где чаще всего ошибаются в планах. Telegram делит товары на два вида, и правила у них разные.
| Цифровые товары | Физические товары и услуги | |
|---|---|---|
| Что это | доступ, подписка, курс, контент | вещи, доставка, офлайн-услуги |
| Чем платят | только Telegram Stars (XTR) | карта через провайдера |
| Нужен провайдер | нет | да, подключается в BotFather |
| Данные покупателя | не нужны | адрес и доставка при необходимости |
| Комиссия Telegram | заложена в стоимость Stars | не берёт |
Цифровое — только за Stars. Документация формулирует это как обязанность: все транзакции по цифровым товарам и услугам проводятся в Telegram Stars с кодом валюты XTR. Пользователь покупает Stars внутренними покупками Apple и Google или через служебного бота, а потом тратит их у вас. Обойти правило, продав подписку картой «мимо» Telegram, — прямое нарушение, и рискует здесь ваш бот.
Физическое — через провайдера. Здесь Telegram выступает посредником интерфейса: он не обрабатывает платежи, не хранит данные карт и не берёт комиссию. Провайдер подключается через BotFather, у него же остаётся вся чувствительная информация.
Две технические детали, которые влияют на срок и на надёжность. Первая: на запрос подтверждения перед оплатой бот обязан ответить в течение десяти секунд, иначе транзакция отменяется — то есть проверка наличия товара должна быть быстрой, и «сходить в 1С и подумать полминуты» здесь не работает. Вторая: тестировать оплату можно в тестовом режиме, не списывая реальных денег, — этот шаг стоит требовать от подрядчика до запуска.
Для российского бизнеса есть третий путь, который часто оказывается проще обоих: оплата на своей странице. Мини-приложение доводит до заказа, а оплата уходит на привычный вам эквайринг. Это снимает вопросы совместимости провайдеров и оставляет деньги в контуре, который вы уже настроили. Подробнее про то, как устроен магазин в Telegram целиком, — в отдельном разборе.
Что мини-приложение умеет
Кроме интерфейса, мессенджер даёт несколько вещей, ради которых всё и затевается.
Знает, кто открыл. Ни регистрации, ни пароля, ни подтверждения телефона. Пользователь опознан в момент открытия — при условии, что подпись проверена.
Выглядит частью Telegram. Тема оформления передаётся приложению, поэтому оно совпадает по цветам со светлым и тёмным режимом мессенджера. Сделанное аккуратно мини-приложение не выглядит вставленным сайтом.
Умеет отправлять сообщения от имени пользователя. Выбрал товар в интерфейсе — в чат с ботом ушло сообщение с заказом, и дальше разговор продолжается в переписке.
Присылает уведомления. Не само, а через бота — но это та же самая связка: интерфейс для действий, бот для напоминаний. Уведомление о статусе заказа приходит в чат, а не на почту, которую не читают.
Принимает оплату по правилам, разобранным выше.
Работает в группах и каналах. Бота с мини-приложением можно добавлять в групповые чаты — сценарии вроде сбора заказов в чате отдела становятся возможными.
Чего мини-приложение не умеет
Список короче, но важнее — здесь живут несбывшиеся ожидания.
Оно не появляется в поиске. Ни в Яндексе, ни в Google. Трафик приводит что-то другое: сайт, реклама, канал.
Оно не работает вне Telegram. Ссылка, отправленная человеку без мессенджера, не откроется. Если аудитория смешанная, нужен и сайт.
Оно не умнее вашей системы. Мини-приложение показывает данные, которые ему дают. Если остатки не ведутся, каталог будет врать так же, как врал менеджер по телефону.
Оно не заменяет мобильное приложение, когда нужны фоновая работа, push вне мессенджера, работа офлайн или сложная работа с камерой и датчиками.
Пять типов, которые действительно работают
Мини-приложения делают под самые разные задачи, но окупаются обычно эти пять. Список полезен тем, что показывает, на что похожа ваша задача.
Витрина с заказом. Каталог, карточка товара, корзина, оформление. Самый частый запрос и самый предсказуемый по срокам. Живёт там, где позиций больше пары десятков и есть картинки: одежда, еда, товары для дома.
Запись и бронь. Календарь со свободными слотами, выбор мастера или столика, подтверждение. Выигрыш здесь не в красоте, а в том, что человек видит доступное время сразу и не переписывается ради двух вопросов. Как эта задача решается ботом без интерфейса, разобрано в статье про бота для записи клиентов — сравните и выберите уровень.
Личный кабинет. История заказов, статус доставки, баланс, бонусы, документы. Имеет смысл там, где клиент возвращается: сервисы, подписки, оптовые продажи. Часто заменяет собой звонки «а что с моим заказом».
Заявка с расчётом. Конструктор, в котором человек собирает параметры и сразу видит цену: комплектация, объём, сроки. Хорошо работает в услугах, где цена зависит от нескольких переменных и по телефону объясняется долго.
Внутренний инструмент. Мини-приложение не обязательно для клиентов. Заявки от сотрудников, отчёты с точек, приём смен, чек-листы — всё то, ради чего иначе покупают отдельную систему и потом заставляют людей в неё заходить. Здесь у Telegram неочевидное преимущество: он уже установлен у всех, и обучать никого не нужно.
Можно ли собрать самому
Спрашивают часто: формулировки вроде «telegram mini apps как создать» и «как создать мини приложение в телеграм» набирают около полутора сотен обращений в месяц. Ответ зависит от того, что понимать под «самому».
Без кода — в ограниченных рамках. Часть конструкторов ботов умеет показывать простые экраны-витрины. Это работает, пока задача укладывается в их шаблон: список товаров, карточка, кнопка заказа. Как только нужны свои правила расчёта или связь с вашей базой, шаблон заканчивается — та же граница, где конструктор упирается в потолок, только наступает она раньше, чем у обычного бота.
Своими силами, если есть веб-разработчик. Это реалистично: мини-приложение — обычный фронтенд плюс небольшой бэкенд. Разработчику, который делает сайты, освоить особенности Telegram — вопрос нескольких дней. Именно поэтому статьи в выдаче написаны для программистов: с их стороны задача действительно понятная.
Что не получится сделать без разработчика вообще: проверку подписи на сервере, интеграцию с вашими системами, оплату по правилам площадки. Всё это серверная работа, и в конструкторе её нет.
Если вы ещё не выбрали площадку и способ сборки, начать стоит с общего разбора — как создать бота и какие есть варианты, от конструктора до своего кода. Разумный вариант для проверки идеи — собрать первую версию из готовых блоков, посмотреть, пользуются ли ей, и только потом заказывать своё. Стоимость ошибки в этом порядке измеряется вечером, а не бюджетом.
Мини-приложения есть не только в Telegram
Об этом редко пишут, а для планирования важно: интерфейс внутри мессенджера — не исключительная особенность Telegram.
| Telegram | MAX | ВКонтакте | |
|---|---|---|---|
| Мини-приложения | да, семь способов запуска | да, открываются после модерации бота | да, давняя платформа приложений |
| Оплата внутри | Stars для цифрового, провайдер для физического | по правилам платформы | своя платёжная механика |
| Проверка перед запуском | нет | бот проходит модерацию до 48 часов | зависит от типа приложения |
| Аудитория | самая широкая в РФ | растёт, конкуренции меньше | там, где живут сообщества |
Тем, кто планирует надолго, это стоит заложить сразу: логика приложения — каталог, расчёты, интеграции — общая, а обёртка под каждую площадку своя. Поэтому проект стоит с самого начала строить так, чтобы бизнес-часть жила отдельно от способа показа. Тогда второй мессенджер обойдётся заметно дешевле первого. Мини-приложения есть и в MAX, и открываются они после того, как бот прошёл проверку площадки — как устроен запуск бота в MAX, разобрано отдельно.
Откуда берутся пользователи
Мини-приложение не приводит людей само — у него нет ни поиска, ни витрины магазина приложений. Входов ровно четыре, и планировать их надо до разработки, а не после.
Ваш бот и канал. Основной путь: кнопка меню в боте, ссылка в закреплённом посте, упоминание в рассылке по подписчикам. Работает, если аудитория в Telegram уже собрана.
Прямая ссылка снаружи. Единственный способ привести человека, который о вас не знал: ссылку ставят на сайт, в рекламу, в письмо, в визитку. Открывается она сразу в приложении, минуя переписку.
Реклама в Telegram. Объявление ведёт не на сайт, а прямо в интерфейс. Для товаров это короче на два шага, чем путь через посадочную страницу.
Из рук в руки. Мини-приложением можно поделиться в чате, и получатель откроет его в один тап. Для сервисов, где решение принимают вдвоём — выбор подарка, заказ на компанию, — это заметный канал.
Проверьте перед запуском самое обидное: как выглядит ссылка, отправленная человеку, у которого Telegram не установлен. Если она ведёт в пустоту, а трафик вы гоните из общей рекламы, часть бюджета уходит в никуда — и лечится это простой посадочной страницей-перехватчиком.
Сколько стоит и сколько занимает
Разработка мини-приложения — это веб-разработка, поэтому и считается она как веб-разработка, а не как настройка бота.
| Что делаем | Срок | Что определяет цену |
|---|---|---|
| Форма или анкета с отправкой боту | несколько дней | число полей и проверок |
| Витрина без оплаты | 1–2 недели | сколько экранов и откуда товары |
| Каталог с корзиной и оплатой | 3–6 недель | интеграции и способ оплаты |
| Личный кабинет с данными из ваших систем | от 6 недель | наличие API у ваших систем |
| Поддержка и правки | постоянно | как часто меняется ассортимент |
Мини-приложение при сопоставимой задаче обычно обходится в два-три раза дороже бота. Причина не в жадности подрядчиков, а в составе работ: у бота есть сценарий, у приложения — экраны, состояния, поведение на разных размерах, обработка ошибок сети и серверная часть под всё это.
Главный множитель цены — есть ли у ваших систем API. Если каталог и остатки отдаются программно, работа сводится к интерфейсу. Если товары живут в таблице, которую ведёт вручную сотрудник, к проекту добавляется отдельная задача про данные — и она нередко больше самого приложения. Порядок сумм и что на них влияет разобраны в статье про то, сколько стоит чат-бот: для мини-приложения логика та же, коэффициент выше.
Из чего состоит проект
Полезно понимать состав работ — хотя бы для того, чтобы читать сметы подрядчиков и видеть, что в них пропущено.
Сценарий и экраны. Не дизайн, а решение: сколько экранов, что на каждом, куда ведёт каждая кнопка. Этот этап делается на бумаге и стоит дешевле всего, а сэкономленный на нём день оборачивается неделей переделок.
Интерфейс. Вёрстка и поведение: списки, фильтры, корзина, состояния загрузки и ошибок. Отдельная строка — поддержка светлой и тёмной темы, о которой забывают в половине проектов.
Серверная часть. Проверка подписи, хранение заказов, обращения к вашим системам, обработка оплаты. Внешне её не видно, поэтому в дешёвых предложениях она чаще всего и отсутствует.
Бот-обвязка. Кнопка запуска, уведомления, статусы, ответы на вопросы. Мини-приложение без бота работает наполовину: интерфейс закрылся — и связь с человеком оборвалась.
Хостинг и домен. Мини-приложение должно лежать на сервере с HTTPS. Это небольшие деньги, но постоянные, и их стоит закладывать сразу.
Приёмка и правки. Две-три недели после запуска, когда становится видно, где люди застревают. Проект, у которого этого этапа нет в плане, считайте недооценённым.
Что нужно от вас как от заказчика: список того, что показываем, откуда берутся данные, кто отвечает за содержание и что происходит после заказа. Последнее забывают чаще всего — и получают красивое приложение, из которого заказы уходят на почту, куда никто не смотрит.
Что спросить у подрядчика
Пять вопросов, которые отделяют осмысленное предложение от красивой презентации.
«Где проверяется подпись данных пользователя?» Правильный ответ — на сервере. Ответ «мы берём данные из Telegram» без упоминания сервера означает, что проверки нет.
«Что происходит, когда пропадает сеть?» Должен быть внятный ответ про индикаторы загрузки и повторную отправку. Мини-приложениями пользуются в дороге.
«Как приложение узнаёт про наличие и цены?» Если ответ «занесём вручную», спросите, кто и как часто будет это делать через полгода.
«Что увидит человек в чате после заказа?» Хорошая связка всегда пишет в бот подтверждение. Если этого нет в плане, его туда стоит добавить.
«Как тестируется оплата?» Ответ должен содержать тестовый режим. Проверять оплату на живых деньгах и живых клиентах — плохая практика, которая всплывает в самый неподходящий момент.
Вопросы работают и в обратную сторону: если подрядчик сам поднимает эти темы до вас, с ним, скорее всего, можно работать.
Что ломается на практике
Пять вещей, которые видно только после запуска на живых людях.
Интерфейс сделан для большого экрана. Мини-приложение открывается в окне поверх чата, и это окно меньше, чем кажется в макете. Каталог, красивый на ноутбуке, на телефоне превращается в бесконечную прокрутку.
Тема оформления не учтена. Приложение, нарисованное только для светлой темы, у половины пользователей выглядит поломанным: белый текст на белом фоне — классика.
Нет состояния «плохая сеть». В мессенджер заходят из метро и лифта. Экран без индикатора загрузки и без внятной ошибки читается как «приложение сломалось», и человек уходит.
Данные не проверены на сервере. Разобрано выше и стоит повторить: это не мелочь, а прямая дыра.
Нет пути назад в бот. Пользователь закрыл окно — и остался в пустом чате, не понимая, что произошло с заказом. Хорошая связка всегда пишет в чат: «заказ №14 принят, ждите звонка».
- 1Бот со сценариемнеделя, дёшево, сразу в работе
- 2Месяц наблюденийгде люди застревают и чего просят
- 3Один экран приложениясамое узкое место, а не весь каталог
- 4Оплатакогда путь до заказа уже работает
- 5Личный кабинетесли клиенты возвращаются
Как решить, нужно ли оно вам
Четыре вопроса, ответы на которые обычно закрывают тему за десять минут.
Что человек должен сделать? Если глагол — «выбрать из многого», «сравнить», «настроить», интерфейс нужен. Если «сообщить», «записаться», «узнать» — хватит бота.
Сколько у вас позиций? До полутора десятков прекрасно листаются кнопками в чате. Сотня — уже каталог, и в переписке она нечитаема.
Возвращаются ли клиенты? Личный кабинет с историей заказов имеет смысл там, где покупают повторно. Для разовой услуги это лишние деньги.
Откуда придут люди? Если ответ «из поиска» — сначала сайт, мини-приложение вторым шагом. Если «из нашего канала и рекламы в Telegram» — можно сразу сюда.
Частая и дорогая ошибка — заказать интерфейс до того, как проверен спрос. Бот со сценарием стоит недели работы и отвечает на главный вопрос: чего людям на самом деле не хватает. Половина заказчиков после такого месяца обнаруживает, что каталог не нужен, а нужен нормальный статус заказа и напоминание.
Если задача шире, чем «сделать бота», и звучит как «собрать продукт внутри мессенджера» — это разработка чат-ботов и приложений под задачу, и начинается она с разбора сценария, а не с выбора технологии.




