Mini App открывается внутри Telegram WebApp и принимает токен пользователя через GET параметр
___uat. При корректном токене пользователь авторизуется автоматически без экранов логина.Для реализации автоматической авторизации на уровне API:
1
Создайте пользователя школы
- Вызовите POST
/saas/v2/user/create(илиuser/upsert, если пользователь мог быть создан раньше). - Передайте один из логинов (email, phone или domain); для связи аккаунта с Telegram можно передать tgId. Профиль можно задать сразу.
- Сохраните
user.idиз ответа — он понадобится для выдачи токена.
2
Получите токен сессии
- Вызовите POST
/saas/v2/user/session/auth-tokenс телом{ "userId": 123 }, где123—user.idиз предыдущего шага. - Возьмите
payload.session.tokenиз ответа — это и есть значение для___uat.
Для пользователей с правами в кабинете (администраторы, менеджеры) токен не выдаётся — метод предназначен для учеников.
3
Передайте ссылку в Telegram Mini App
- Сформируйте URL школы с параметром
___uat. - Передайте ссылку в payload
startappпри открытии WebApp из бота или отправьте пользователю как обычную ссылку. - При открытии Mini App пользователь будет авторизован автоматически.
Токен можно передать и во fragment:
https://my-school.exode.biz#___uat=<token> — fragment
не отправляется на сервер и не попадает в логи веб-серверов. После входа платформа удаляет токен из адреса.Если токен валиден и не истек, Mini App не покажет экран логина — пользователь попадет сразу в интерфейс школы.
Частые ошибки и как их избежать
- Ошибка авторизации в Mini App: убедитесь, что токен передан в
___uatи не истек. - Пользователь не найден при выдаче токена: используйте
user.idиз шага создания пользователя. - Telegram не открывает WebApp: проверьте, что кнопка создана как
web_app, а URL школы начинается сhttps://.
Обновлено: 2026-09-25 13:43 UTC