Если у бизнеса уже есть REST API, запуск Telegram Mini App не требует полной переработки backend. В большинстве случаев достаточно добавить тонкий слой интеграции, адаптировать авторизацию и учесть особенности Telegram WebApp.
Что обычно хотят найти пользователи:
- как подключить API к Telegram Mini App
- можно ли использовать существующий backend
- как сделать авторизацию в Mini App
- нужен ли отдельный сервер для Telegram WebApp
Короткий ответ
Да, существующий REST API можно использовать почти без изменений. Mini App работает как обычный фронтенд: он отправляет запросы в ваш backend, а Telegram выступает как контейнер и источник данных о пользователе.
Как выглядит схема подключения
- Mini App frontend — интерфейс на HTML/CSS/JS, React, Vue или другом стеке
- Telegram WebApp SDK — дает данные запуска, тему, кнопку, информацию о пользователе
- Ваш REST API — остается основным источником данных
- Промежуточный auth-слой — проверяет данные из Telegram и выдает сессию или JWT
Что нужно сделать на практике
1. Разместить Mini App на HTTPS
Telegram Mini App открывается как веб-приложение, поэтому нужен публичный URL с SSL.
2. Получать initData от Telegram
При открытии Mini App Telegram передает initData — в нем есть данные пользователя и подпись.
3. Проверять initData на сервере 🔐
Это ключевой этап. Ваш backend должен валидировать подпись, чтобы убедиться, что пользователь действительно пришел из Telegram. После проверки можно:
- создать/найти пользователя в БД
- выдать JWT или сессионный токен
- привязать Telegram ID к существующему аккаунту
4. Подключить Mini App к существующим REST endpoint’ам
После авторизации фронтенд Mini App может вызывать те же API-методы, что и сайт или мобильное приложение:
/profile/orders/cart/payments- способ входа
- CORS
- логика привязки пользователя
- Авторизация — если у вас только логин/пароль, добавьте вход через Telegram user ID
- CORS — разрешите запросы с домена Mini App
- Идентификация пользователя — сопоставьте Telegram-профиль с аккаунтом клиента
- Безопасность — не доверяйте данным с фронтенда без серверной проверки
- принимать HTTPS-запросы
- валидировать
initData - выдавать токены
- не переписывать основной REST API
- добавить Telegram-авторизацию
- сделать легкий frontend для Mini App
- при необходимости — тонкий промежуточный слой интеграции
Если API уже готов, чаще всего меняются только:
Когда без доработок не обойтись
Полностью “как есть” подключить API можно не всегда. Обычно требуются небольшие изменения:
Нужен ли отдельный backend?
Не обязательно. Если текущий backend умеет:
то отдельный сервер не нужен. Иногда делают небольшой BFF-слой между Mini App и основным API — это удобно, если нужно быстро адаптировать старую систему без риска для ядра backend ⚙️
Лучший подход
Так можно быстро запустить Mini App, сократить стоимость разработки и протестировать канал продаж или сервиса в Telegram без тяжелого replatforming 💼✨