Каналы
Авторизация Telegram
Подключите Telegram с помощью кода подтверждения, QR-кода или существующей сессии. Выберите способ и выполните соответствующие шаги авторизации.
Выберите способ авторизации
code →Поток с кодом подтверждения: сервер запрашивает код у Telegram, пользователь получает его по SMS или в приложении и отправляет обратно.provider_data.phoneqrcode →Поток с QR-кодом: получите QR-токен и попросите пользователя отсканировать его в приложении Telegram.session →Поток импорта сессии: импортируйте уже авторизованную сессию Telegram в UnifyPort.params.session_url
code
Поток с кодом подтверждения: сервер запрашивает код у Telegram, пользователь получает его по SMS или в приложении и отправляет обратно.
- 1. Выполните POST /v1/accounts с provider=telegram, auth_mode=code и provider_data.phone. Поля api_id и api_hash в provider_data необязательны; если их не передать, платформа использует учётные данные приложения по умолчанию.
- 2. POST /v1/accounts/{account_id}/auth/start, чтобы Telegram отправил код подтверждения.
- 3. Когда пользователь получит код, отправьте POST /v1/accounts/{account_id}/auth/code с этим кодом.
- 4. Если у аккаунта включена 2FA, статус ответа станет awaiting_password — отправьте POST /v1/accounts/{account_id}/auth/password с паролем.
- 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. Выполните POST /v1/accounts с provider=telegram и auth_mode=qrcode. Поля api_id и api_hash в provider_data необязательны; если их не передать, платформа использует учётные данные приложения по умолчанию.
- 2. POST /v1/accounts/{account_id}/auth/qr/start — в ответе содержится QR-токен для отображения.
- 3. Опрашивайте POST /v1/accounts/{account_id}/auth/qr/check до status=authorized. QR истекает примерно через 30 секунд — обновляйте его, повторно вызывая qr/start.
- 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. POST /v1/accounts с provider=telegram, auth_mode=session.
- 2. POST /v1/accounts/{account_id}/auth/session с params.session_url, указывающим на скачиваемый файл .session.
- 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, что и входящие сообщения.