QR 認証を確認
QR ログインフローの現在の結果を、プロバイダが成功または失敗を返すまで確認します。QR 待機中は最新の auth_payload.qr_code を返します。WhatsApp では代わりに passkey_required と次の WebAuthn 手順で使う auth_payload.public_key を返す場合があります。
https://api.unifyport.ai/v1/accounts/{account_id}/auth/qr/checkヘッダー
X-Api-Keyワークスペース API キー。このヘッダーからワークスペースを特定します。
Content-TypeJSON のリクエストボディを送る場合は application/json を使用します。
パスパラメータ
account_idauthentication ルートで使用される識別子。
リクエストボディ
このエンドポイントは空の JSON オブジェクトを受け取ります。リクエスト例どおり {} を送信してください。
レスポンスボディ
providerランタイム操作を処理したプロバイダ。
enum: telegram, whatsapp, line, twitter, zalo, tiktok, whatsapp_protocol
action要求されたランタイム操作。
status現在の認可フロー状態。pending_auth、awaiting_qr_scan、awaiting_code、pending、passkey_required、passkey_pending、passkey_confirmation、passkey_confirmation_sent、authorized、failed など。
auth_statusPasskey アクションが返す標準化済み認証状態。
auth_payloadobject現在のステップに必要な標準ペイロード。QR は qr_code、認証コードステップは type=code、Passkey は type=passkey と public_key を使用します。相互排他的なステップのペイロードは同時には現れません。
auth_payload現在のステップに必要な標準ペイロード。QR は qr_code、認証コードステップは type=code、Passkey は type=passkey と public_key を使用します。相互排他的なステップのペイロードは同時には現れません。
type現在のステップのペイロード種別。code は認証コードステップ、passkey は Passkey ステップを示します。
qr_codeauth_status が awaiting_qr_scan の場合にのみ表示する QR コンテンツ。
public_keyauth_status が passkey_required のときにブラウザーの credentials API へ渡す WebAuthn PublicKeyCredentialRequestOptions。
account_idこのレスポンスが対象とするプロバイダアカウント。
expires_at現在の auth_payload が無効になる時刻の RFC3339 タイムスタンプ。
レスポンス
200リクエスト成功。レスポンスボディの例を参照してください。
400リクエストボディ、パス、またはパラメータが不正です。
401X-Api-Key ヘッダが欠落しているか無効です。
409要求された操作が、既存のプロバイダアカウントまたはリソースと競合しています。
500サービスで予期しないエラーが発生しました。
502プロバイダアダプタまたは上流サービスが操作を完了できませんでした。
リクエスト
curl -X POST https://api.unifyport.ai/v1/accounts/{account_id}/auth/qr/check \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{}'レスポンス
{
"data": {
"provider": "whatsapp",
"action": "check_qr_auth",
"status": "awaiting_qr_scan",
"auth_status": "awaiting_qr_scan",
"auth_payload": {
"qr_code": "<QR_CODE>"
}
}
}レスポンス
{
"data": {
"provider": "whatsapp",
"action": "check_qr_auth",
"status": "passkey_required",
"auth_status": "passkey_required",
"auth_payload": {
"type": "passkey",
"public_key": {
"challenge": "<BASE64URL_CHALLENGE>"
}
}
}
}