Telegram Mini App (TWA — Telegram Web App) — это веб-приложение, которое открывается внутри Telegram. Пользователь нажимает кнопку в боте, и вместо перехода на внешний сайт видит полноценное приложение прямо в мессенджере.
Архитектура Telegram Mini App состоит из трёх компонентов:
1. Telegram Bot (точка входа). Бот принимает команды от пользователя и открывает Mini App. Через бота отправляются уведомления, обрабатываются платежи, управляется состояние. Бот — это «дверь» в Mini App.
2. Mini App (фронтенд). Веб-приложение на React, Vue или vanilla JS. Работает в WebView внутри Telegram. Использует Telegram Web App SDK для доступа к функциям Telegram: данные пользователя, HapticFeedback, MainButton, BackButton, тема, цвета.
3. Бэкенд (API-сервер). Серверная часть на Node.js, Python или другом языке. Обрабатывает бизнес-логику, управляет данными, интегрируется с внешними сервисами (платёжные системы, CRM, базы данных).
| Компонент | Технология | Роль |
|---|---|---|
| Telegram Bot | Telegram Bot API | Точка входа, уведомления, платежи |
| Mini App | React/Vue + Telegram SDK | UI, взаимодействие с пользователем |
| Бэкенд | Node.js/Python + PostgreSQL | Бизнес-логика, API, интеграции |
| Хостинг | Vercel/Railway/VPS | Деплой Mini App и API |
| База данных | PostgreSQL/Supabase | Хранение данных |
| CDN | Cloudflare/CloudFront | Быстрая загрузка статики |
Как работает Mini App — технический поток: 1. Пользователь открывает бота и нажимает кнопку «Открыть магазин» 2. Бот отправляет ссылку на Mini App (через WebAppInfo или inline keyboard) 3. Telegram открывает WebView с URL Mini App 4. Mini App загружается, получает initData (подписанные данные пользователя) 5. Mini App отправляет initData на бэкенд для верификации 6. Бэкенд проверяет подпись HMAC-SHA256 и возвращает токен сессии 7. Mini App работает с API, используя токен 8. При закрытии Mini App — WebView закрывается, пользователь остаётся в Telegram
Важные технические ограничения: - Mini App работает в WebView (не полноценный браузер) - localStorage и cookies доступны, но могут очищаться - Размер viewport зависит от устройства (мобильный, десктоп) - Telegram SDK доступен только внутри Telegram - Максимальный размер initData — 512 байт
Подробнее о магазине в Mini App и разработке сервисов.
