Справочник API

Каналы

Авторизация Telegram

Подключите Telegram с помощью кода подтверждения, QR-кода или существующей сессии. Выберите способ и выполните соответствующие шаги авторизации.

Выберите способ авторизации

code

Поток с кодом подтверждения: сервер запрашивает код у Telegram, пользователь получает его по SMS или в приложении и отправляет обратно.

  1. 1. Выполните POST /v1/accounts с provider=telegram, auth_mode=code и provider_data.phone. Поля api_id и api_hash в provider_data необязательны; если их не передать, платформа использует учётные данные приложения по умолчанию.
  2. 2. POST /v1/accounts/{account_id}/auth/start, чтобы Telegram отправил код подтверждения.
  3. 3. Когда пользователь получит код, отправьте POST /v1/accounts/{account_id}/auth/code с этим кодом.
  4. 4. Если у аккаунта включена 2FA, статус ответа станет awaiting_password — отправьте POST /v1/accounts/{account_id}/auth/password с паролем.
  5. 5. После успешной авторизации сначала проверьте runtime_status. Вызывайте POST /v1/accounts/{account_id}/runtime/start только если запуск всё ещё необходим.
  • provider_data.api_id — Необязательный Telegram App ID с my.telegram.org. Если его не передать, платформа использует учётные данные приложения по умолчанию. Для своего приложения передайте api_id и api_hash одного и того же приложения вместе, в виде строк.
  • provider_data.api_hash — Необязательный Telegram App Hash с my.telegram.org. Если его не передать, платформа использует учётные данные приложения по умолчанию. Для своего приложения передайте api_id и api_hash одного и того же приложения вместе, в виде строк.
  • provider_data.phone — Номер телефона в формате E.164. Требуется только для потока code.

qrcode

Поток с QR-кодом: получите QR-токен и попросите пользователя отсканировать его в приложении Telegram.

  1. 1. Выполните POST /v1/accounts с provider=telegram и auth_mode=qrcode. Поля api_id и api_hash в provider_data необязательны; если их не передать, платформа использует учётные данные приложения по умолчанию.
  2. 2. POST /v1/accounts/{account_id}/auth/qr/start — в ответе содержится QR-токен для отображения.
  3. 3. Опрашивайте POST /v1/accounts/{account_id}/auth/qr/check до status=authorized. QR истекает примерно через 30 секунд — обновляйте его, повторно вызывая qr/start.
  4. 4. После успешной авторизации сначала проверьте runtime_status. Вызывайте POST /v1/accounts/{account_id}/runtime/start только если запуск всё ещё необходим.
  • provider_data.api_id — Необязательный Telegram App ID с my.telegram.org. Если его не передать, платформа использует учётные данные приложения по умолчанию. Для своего приложения передайте api_id и api_hash одного и того же приложения вместе, в виде строк.
  • provider_data.api_hash — Необязательный Telegram App Hash с my.telegram.org. Если его не передать, платформа использует учётные данные приложения по умолчанию. Для своего приложения передайте api_id и api_hash одного и того же приложения вместе, в виде строк.

session

Поток импорта сессии: импортируйте уже авторизованную сессию Telegram в UnifyPort.

  1. 1. POST /v1/accounts с provider=telegram, auth_mode=session.
  2. 2. POST /v1/accounts/{account_id}/auth/session с params.session_url, указывающим на скачиваемый файл .session.
  3. 3. После успешной авторизации сначала проверьте runtime_status. Вызывайте POST /v1/accounts/{account_id}/runtime/start только если запуск всё ещё необходим.
  • params.session_url — URL или ссылка на существующую сессию Telegram.

Примечания

  • Во всех трёх режимах авторизации Telegram (code, qrcode и session) вызывающей стороне не нужно предоставлять собственные api_id и api_hash: если их не передать, платформа использует учётные данные приложения по умолчанию. Для своего приложения передайте оба значения одного и того же приложения Telegram в provider_data в виде строк.
  • Пароли 2FA — без состояния на каждую попытку. При ошибке отмените сессию и запустите /auth/qr/start или /auth/start заново.
  • QR-токены истекают через ~30 секунд. Вызовите qr/start ещё раз для обновления — UI должен перерисовывать отображаемый QR.
  • URL webhook внедряется автоматически при конфигурации аккаунта. Переходы состояний авторизации и события входа приходят в тот же webhook, что и входящие сообщения.