API リファレンス
認証POST

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
string必須

ワークスペース API キー。このヘッダーからワークスペースを特定します。

Content-Type
string必須

JSON のリクエストボディを送る場合は application/json を使用します。

パスパラメータ

account_id
string必須

authentication ルートで使用される識別子。

リクエストボディ

このエンドポイントは空の JSON オブジェクトを受け取ります。リクエスト例どおり {} を送信してください。

レスポンスボディ

provider
string

ランタイム操作を処理したプロバイダ。

enum: telegram, whatsapp, line, twitter, zalo, tiktok, whatsapp_protocol

action
string

要求されたランタイム操作。

status
string

現在の認可フロー状態。pending_auth、awaiting_qr_scan、awaiting_code、pending、passkey_required、passkey_pending、passkey_confirmation、passkey_confirmation_sent、authorized、failed など。

auth_status
string

Passkey アクションが返す標準化済み認証状態。

auth_payload
object

現在のステップに必要な標準ペイロード。QR は qr_code、認証コードステップは type=code、Passkey は type=passkey と public_key を使用します。相互排他的なステップのペイロードは同時には現れません。

type
string

現在のステップのペイロード種別。code は認証コードステップ、passkey は Passkey ステップを示します。

qr_code
string

auth_status が awaiting_qr_scan の場合にのみ表示する QR コンテンツ。

public_key
object

auth_status が passkey_required のときにブラウザーの credentials API へ渡す WebAuthn PublicKeyCredentialRequestOptions。

account_id
string

このレスポンスが対象とするプロバイダアカウント。

expires_at
string

現在の auth_payload が無効になる時刻の RFC3339 タイムスタンプ。

レスポンス

200
200 OK

リクエスト成功。レスポンスボディの例を参照してください。

400
Bad Request

リクエストボディ、パス、またはパラメータが不正です。

401
Unauthorized

X-Api-Key ヘッダが欠落しているか無効です。

409
Conflict

要求された操作が、既存のプロバイダアカウントまたはリソースと競合しています。

500
Internal Server Error

サービスで予期しないエラーが発生しました。

502
Bad Gateway

プロバイダアダプタまたは上流サービスが操作を完了できませんでした。

リクエスト

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>"
      }
    }
  }
}