> ## Documentation Index
> Fetch the complete documentation index at: https://docs.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Интеграция с Telegram Mini App

> Как создать пользователя, получить его токен и выполнить автоавторизацию в mini app через бота

<Info>
  Mini App открывается внутри Telegram WebApp и принимает токен пользователя через GET параметр
  <code>\_\_\_uat</code>. При корректном токене пользователь авторизуется автоматически без экранов логина.
</Info>

#### Для реализации автоматической авторизации на уровне API:

<Steps>
  <Step title="Создайте пользователя школы">
    1. Вызовите POST <code>/saas/v2/user/create</code>.
    2. Передайте один из логинов (email, phone или tgId). Профиль можно задать сразу.
    3. Сохраните <code>user.id</code> из ответа — он понадобится для выдачи токена.
  </Step>

  <Step title="Передайте ссылку в Telegram Mini App">
    1. Сформируйте URL школы с параметром <code>\_\_\_uat</code>.
    2. Передайте ссылку в payload <code>startapp</code> при открытии WebApp из бота или отправьте пользователю как обычную ссылку.
    3. При открытии Mini App пользователь будет авторизован автоматически.

    ```bash theme={null}
    https://my-school.exode.biz?___uat=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.student-session-token
    ```

    <Tip>
      Для deep-link из бота используйте <code>[https://t.me/your\_school\_bot?startapp=](https://t.me/your_school_bot?startapp=)</code> и закодируйте URL mini app в
      <code>startapp</code> (base64 без знака равенства). Telegram передаст ссылку WebApp без изменений.
    </Tip>

    <Check>
      Если токен валиден и не истек, Mini App не покажет экран логина — пользователь попадет сразу в интерфейс школы.
    </Check>
  </Step>
</Steps>

## Частые ошибки и как их избежать

* Ошибка авторизации в Mini App: убедитесь, что токен передан в <code>\_\_\_uat</code> и не истек.
* Пользователь не найден при выдаче токена: используйте <code>user.id</code> из шага создания пользователя.
* Telegram не открывает WebApp: проверьте, что бот включил <code>startapp</code> и домен школы разрешен в настройках Mini App.

<Warning>
  Не передавайте токен в открытых чатах или группах. Используйте персональные ссылки.
</Warning>
