Создать сессию авторизации провайдера
Создаёт публичную сессию авторизации WhatsApp для дополнительного шага Passkey в QR-потоке. Используйте размещённый authorize_url или auth_payload.public_key для прямого WebAuthn-вызова. Не записывайте URL, challenge или учётные данные в публичные логи и не передавайте их другим лицам.
https://api.unifyport.ai/v1/accounts/{account_id}/auth-sessionsЗаголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Параметры пути
account_idИдентификатор для маршрута раздела authentication.
Тело запроса
Этот эндпоинт не требует JSON-тела запроса.
Тело ответа
account_idАккаунт провайдера, к которому относится этот ответ.
providerКаноническое имя provider в ответе. whatsapp-protocol поддерживает только аутентификацию session, а сейчас — text, image и сведения о контакте; reply, mentions, список контактов и операции их записи, диалоги и группы не поддерживаются. Доступность зависит от adapter, зарегистрированных в развёртывании.
enum: whatsapp
auth_modeРежим авторизации сессии. Passkey является дополнительной веткой WhatsApp qrcode.
statusТекущий статус потока авторизации, например pending_auth, awaiting_qr_scan, awaiting_code, pending, passkey_required, passkey_pending, passkey_confirmation, passkey_confirmation_sent, authorized или failed.
auth_payloadСтандартная полезная нагрузка для текущего шага. QR использует qr_code; шаг проверки кода использует type=code; Passkey использует type=passkey и public_key. Полезные нагрузки взаимоисключающих шагов не появляются вместе.
authorize_urlВременный размещённый URL для завершения шага Passkey. Не записывайте и не передавайте это значение.
format: uri
expires_atМетка времени RFC3339, после которой текущий auth_payload становится недействительным.
format: date-time
switchableУказывает, может ли пользователь переключиться на другой доступный режим авторизации.
available_auth_modes[]Режимы авторизации, на которые можно безопасно переключиться из текущей сессии.
Ответы
201Запрос выполнен. См. пример тела ответа.
400Тело запроса, путь или параметры некорректны.
401Заголовок X-Api-Key отсутствует или недействителен.
500Сервис столкнулся с неожиданной ошибкой.
503Необходимая серверная служба временно недоступна.
Запрос
curl -X POST https://api.unifyport.ai/v1/accounts/{account_id}/auth-sessions \
-H "X-Api-Key: <YOUR_API_KEY>"Ответ
{
"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"]
}
}