Технологии02.06.2026·4 мин

WebApp в Telegram: когда нужен, а когда лишний

Обложка статьи "WebApp в Telegram: когда нужен, а когда лишний"

WebApp представляет собой обычную веб-страницу, которая открывается внутри Telegram поверх чата. Для пользователя она выглядит как приложение: витрина с картинками, фильтры, корзина, календарь, дашборд. Для разработчика это сайт, умеющий разговаривать с ботом. Ставить ничего не надо, регистрироваться тоже, поскольку Telegram сам сообщает приложению, кто его открыл.

Когда WebApp нужен, а когда мешает

Нужен ли он вам, решается одним признаком: помещается ли выбор в кнопки. Пять услуг помещаются, и это обычное меню. Двести товаров с размерами, цветами и наличием уже не помещаются, ведь листать их кнопками мучительно, а искать среди них невозможно. Как только человеку требуется сравнивать варианты, видеть несколько вещей одновременно или что-то перетаскивать, кнопки заканчиваются и начинается WebApp.

Есть и обратная сторона. Если сценарий линейный, то есть нужно задать четыре вопроса и принять заявку, WebApp только мешает. Он дольше открывается, требует интернета получше, хуже ведёт себя на старых телефонах и добавляет шаг там, где его не было. Бот на кнопках в этом случае оказывается быстрее, дешевле и надёжнее. Добавим мелочь, о которой забывают: в обычный бот можно ответить голосом или фотографией прямо из чата, а из мини-приложения такой возможности нет.

Авторизация без регистрации и главная ошибка

Что WebApp даёт почти бесплатно, так это личность пользователя. Telegram передаёт приложению, кто его открыл, и подписывает эти данные. Не нужны ни регистрация, ни пароли, ни подтверждение почты, поэтому самый дорогой по потерям шаг воронки просто исчезает. Ради одного этого WebApp иногда и берут.

Здесь же лежит и главная ошибка. Подпись надо проверять на сервере ключом, полученным из токена бота. Данные приходят с клиента, а клиент это браузер, в котором можно подставить что угодно. Без проверки любой желающий откроет ваш API и назовётся чужим идентификатором вместе с его заказами и балансом. Пропустить эту проверку легко, ведь без неё всё работает ровно до того дня, когда кто-нибудь попробует.

Оплата внутри мини-приложения

С оплатой внутри WebApp есть развилка, о которой лучше знать до старта. Цифровые товары и подписки внутри Telegram продаются за Stars. Это штатный путь, он открывает доступ сразу после оплаты и не требует от владельца ничего, кроме решения о ценах. Однако когда пользователь покупает звёзды в мобильном приложении, магазины Apple и Google удерживают около трети. Физические товары и услуги принимаются обычными платёжными провайдерами напрямую и без этой потери, зато для подключения нужен статус ИП, самозанятого или юридического лица.

Оформление под Telegram и его ограничения

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

Ограничения тоже существуют. Мини-приложение живёт внутри мессенджера, поэтому часть возможностей обычного сайта ему недоступна или доступна с оговорками. Ссылку на такую страницу не выдаст поиск, так как она открывается только через бота. На слабых телефонах разница между кнопками и полноценным интерфейсом чувствуется сразу.

Сочетание бота и WebApp, и во сколько это обходится

На практике чаще выигрывает не выбор, а сочетание. Заявки, вопросы, уведомления и статусы удобно вести обычными сообщениями, поскольку это быстро и работает везде. Каталог, корзину и оформление логично вынести в WebApp. Оба сценария живут в одном боте и в одной базе, поэтому пользователь не замечает границы, а вы не платите за интерфейс там, где хватает кнопки.

По деньгам разница ощутима и вполне объяснима. WebApp это разработка полноценного интерфейса поверх бота, то есть сайт и бот в одном проекте. Поэтому разработка магазина в Telegram занимает от 3 до 5 недель, тогда как бот-заявочник укладывается в неделю, и по стоимости они отличаются в разы. Если вы сомневаетесь, нужен ли WebApp, самый дешёвый способ проверить это заключается в том, чтобы запуститься на кнопках и посмотреть, где именно люди спотыкаются. Обычно после этого становится видно, нужен ли интерфейс вообще или хватило бы поиска по каталогу.

Нужен сайт или бот?

Обсудим задачу и предложим решение под ключ.