Telegram WebApp API: инициализация приложения
Подключишь telegram-web-app.js, вызовешь ready/expand и прочитаешь базовые поля WebApp.
Инициализация WebApp API
После загрузки telegram-web-app.js в странице появляется window.Telegram.WebApp. Первые вызовы при старте: сообщить клиенту, что UI готов (ready), и при необходимости развернуть окно на всю высоту (expand).
Без ready() Telegram может дольше показывать плейсхолдер загрузки. Без expand() приложение часто открывается компактной высотой.
Подключаем API и стартуем
В HTML скрипт Telegram должен идти до твоего бандла:
Как это работает
ready()— Telegram прячет loading placeholder и показывает страницу.expand()— запрос на максимальную высоту WebView; факт смотри вisExpanded.initData— сырая query-string с подписью; её шлёшь на бэкенд.initDataUnsafe— уже распарсенный объект для UI (без проверки подписи).platform/version— клиент и версия WebApp API; полезно для feature-detect.
Частые ошибки
Скрипт своего приложения раньше telegram-web-app.js → window.Telegram ещё нет. Порядок: сначала официальный скрипт, потом твой код.
Тестируешь только в обычном браузере → API пустой или отсутствует. Для проверки нужен Telegram-клиент + HTTPS URL (или туннель).
Игнорируешь viewportStableHeight → при открытой клавиатуре viewportHeight прыгает; для layout часто берут stable-значение.
Что дальше
- initData: проверка на бэкенде — безопасная авторизация пользователя
- MainButton и BackButton — нативные кнопки Telegram
- Тема оформления mini-app — цвета под клиент пользователя
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация