Сравнение провайдеров
Авторизация Telegram
Telegram поддерживает code (код подтверждения), qrcode (QR-код) и session (импорт сессии). Все три потока используют /v1/accounts и стандартные auth endpoints: /auth/start, /auth/code, /auth/password, /auth/qr/start, /auth/qr/check, /auth/session.
code
Поток с кодом подтверждения: сервер запрашивает код у Telegram, пользователь получает его по SMS или в приложении и отправляет обратно.
- 1. POST /v1/accounts с provider=telegram, auth_mode=code и provider_data, содержащим api_id, api_hash и phone.
- 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. После успеха выполните POST /v1/accounts/{account_id}/runtime/start, чтобы вывести аккаунт в онлайн.
provider_data.api_id— Telegram App ID, полученный на my.telegram.org. Обязателен для всех потоков Telegram.provider_data.api_hash— Telegram App Hash, полученный на my.telegram.org. Обязателен для всех потоков Telegram.provider_data.phone— Номер телефона в формате E.164. Требуется только для потока code.
qrcode
Поток с QR-кодом: получите QR-токен и попросите пользователя отсканировать его в приложении Telegram.
- 1. POST /v1/accounts с provider=telegram, auth_mode=qrcode и provider_data.api_id / api_hash.
- 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. После успеха выполните POST /v1/accounts/{account_id}/runtime/start.
provider_data.api_id— Telegram App ID, полученный на my.telegram.org. Обязателен для всех потоков Telegram.provider_data.api_hash— Telegram App Hash, полученный на my.telegram.org. Обязателен для всех потоков Telegram.
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. Когда импорт подтверждает валидность сессии, выполните POST /v1/accounts/{account_id}/runtime/start.
params.session_url— URL или ссылка на существующую сессию Telegram.
Примечания
- Пароли 2FA — без состояния на каждую попытку. При ошибке отмените сессию и запустите /auth/qr/start или /auth/start заново.
- QR-токены истекают через ~30 секунд. Вызовите qr/start ещё раз для обновления — UI должен перерисовывать отображаемый QR.
- URL webhook внедряется автоматически при конфигурации аккаунта. Переходы состояний авторизации и события входа приходят в тот же webhook, что и входящие сообщения.