Когда кнопка открыть WebApp не работает, пользователь видит кнопку в боте, нажимает ее, но приложение не открывается, открывается пустой экран или Telegram показывает ошибку.
Для бота с каталогом, заявками, оплатой или личным кабинетом это критично: весь сценарий может начинаться именно с Mini App.
Коротко: нужно проверить настройки BotFather, тип кнопки, HTTPS-домен, клиент Telegram и код открытия приложения.Почему это ломается
Кнопка не открывается из-за неподтвержденного домена, HTTP вместо HTTPS, неправильного поля web_app, использования неподходящей клавиатуры, старого клиента Telegram, ошибки CSP или пустого ответа сайта.
Что проверяю в первую очередь
- прописан ли домен WebApp в BotFather
- открывается ли URL Mini App по HTTPS
- какая клавиатура отправляется ботом
- работает ли страница внутри Telegram и обычного браузера
- есть ли ошибки JavaScript при загрузке WebApp
Как я это чиню
Я проверяю связку бот - кнопка - домен - фронтенд Mini App. Важно понять, проблема в Telegram-настройках или в странице приложения.
- исправляю кнопку web_app в сообщении бота
- настраиваю домен и HTTPS
- проверяю BotFather и разрешенные адреса
- чиню загрузку Mini App и ошибки JavaScript
- проверяю initData и стартовый сценарий
Что подготовить перед обращением
- username бота
- код отправки кнопки
- адрес WebApp
- скриншот ошибки в Telegram
- доступ к серверу или фронтенду Mini App
Как выглядит нормальный результат
После исправления кнопка должна открывать Mini App внутри Telegram, а приложение должно корректно получать данные запуска и показывать первый экран.
Чего лучше не делать
Не заменяйте WebApp обычной ссылкой, если нужен именно встроенный сценарий Telegram. Обычная ссылка не даст тот же UX и данные запуска.
Вопросы и ответы
Почему на Android работает, а на iPhone нет?
Может отличаться версия клиента, поведение WebView, HTTPS, CSP или адаптация фронтенда под iOS.
Нужен ли HTTPS?
Да, для Telegram WebApp нужен корректный HTTPS-домен.
Можно ли открыть WebApp из обычной reply-кнопки?
Можно, если кнопка сформирована с правильным web_app-полем и клиент Telegram это поддерживает.
Что проверять первым?
Домен в BotFather, HTTPS и реальную структуру кнопки, которую отправляет бот.
Нужна похожая задача?
Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку, скриншот или лог ошибки, и я подскажу, с чего безопасно начать исправление.
Итог
Кнопка Telegram WebApp работает только когда совпали настройки бота, домен, HTTPS, тип кнопки и фронтенд приложения.