Справочник API

Авторизация аккаунта

Создать сессию авторизации провайдера

Создаёт публичную сессию авторизации WhatsApp для дополнительного шага Passkey в QR-потоке. Используйте размещённый authorize_url или auth_payload.public_key для прямого WebAuthn-вызова. Не записывайте URL, challenge или учётные данные в публичные логи и не передавайте их другим лицам.

POSThttps://api.unifyport.ai/v1/accounts/{account_id}/auth-sessions

Перед вызовом

Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.

Откуда взять параметры
account_id
Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт

Параметры запроса

Заголовки

X-Api-Key
stringобязательно

API-ключ рабочей области. Рабочая область определяется по этому заголовку.

Параметры пути

account_id
stringобязательно

Идентификатор для маршрута раздела authentication.

Тело запроса

Этот эндпоинт не требует JSON-тела запроса.

Как понять результат

Следуйте описанию полей и HTTP-статуса. Успешный 204 не содержит тела; для диагностики используйте X-Request-Id. Следующий шаг указан в связанных операциях.

Ответ 201 Created

{
  "request_id": "<REQUEST_ID>",
  "data": {
    "account_id": "acc_example",
    "provider": "whatsapp",
    "auth_mode": "qrcode",
    "status": "passkey_required",
    "auth_payload": {
      "type": "passkey",
      "public_key": {
        "challenge": "<BASE64URL_CHALLENGE>"
      }
    },
    "authorize_url": "https://auth.example.com/authorize/whatsapp/<SESSION_TOKEN>",
    "expires_at": "2026-08-12T08:10:00Z",
    "switchable": false,
    "available_auth_modes": [
      "qrcode"
    ]
  }
}

Тело ответа

account_id
string

Аккаунт провайдера, к которому относится этот ответ.

provider
string

Идентификатор канала. Используйте значение API без изменений; возвращаемые этим API значения указаны в enum ниже.

enum: whatsapp

auth_mode
string

Режим авторизации сессии. Passkey является дополнительной веткой WhatsApp qrcode.

status
string

Текущий статус потока авторизации, например pending_auth, awaiting_qr_scan, awaiting_code, pending, passkey_required, passkey_pending, passkey_confirmation, passkey_confirmation_sent, authorized или failed.

auth_payload
object

Стандартная полезная нагрузка для текущего шага. QR использует qr_code; шаг проверки кода использует type=code; Passkey использует type=passkey и public_key. Полезные нагрузки взаимоисключающих шагов не появляются вместе.

authorize_url
string

Временный размещённый URL для завершения шага Passkey. Не записывайте и не передавайте это значение.

format: uri

expires_at
string

Метка времени RFC3339, после которой текущий auth_payload становится недействительным.

format: date-time

switchable
boolean

Указывает, может ли пользователь переключиться на другой доступный режим авторизации.

available_auth_modes[]
string[]

Режимы авторизации, на которые можно безопасно переключиться из текущей сессии.

Ответы

201

201 Created

Запрос выполнен. См. пример тела ответа.

400

Bad Request

Тело запроса, путь или параметры некорректны.

401

Unauthorized

Заголовок X-Api-Key отсутствует или недействителен.

500

Internal Server Error

Сервис столкнулся с неожиданной ошибкой.

503

Service Unavailable

Необходимая серверная служба временно недоступна.

При ошибке запроса

Проверьте HTTP и error.code/numeric_code, сохраните request_id. Исправьте параметры, завершите авторизацию или проверьте runtime. До повторной отправки или записи выясните результат предыдущей попытки. Справочник ошибок

invalid_request · 10000 · 400
Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.
invalid_api_key · 11001 · 401
Проверьте X-Api-Key и активность рабочего пространства.