API 参考

账号授权

创建渠道授权会话

为 auth_mode=qrcode 的 WhatsApp 账号创建短期托管授权会话。请在用户浏览器中打开 authorize_url,并将完整 URL 视为敏感凭证,切勿记录日志或分享。

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

支持的渠道

WhatsApp

调用前准备

在服务端使用资源所属工作区的 X-Api-Key。运行示例前替换所有占位符。

参数从哪里取得
account_id
从创建或查询账号的响应取得 data.id。账号标识属于 X-Api-Key 对应的工作区。 获取账号

请求参数

请求头

X-Api-Key
string必填

工作区 API Key,工作区由该请求头解析得到。

路径参数

account_id
string必填

用于该 authentication 路由的标识符。

请求体

该接口无需 JSON 请求体。

如何理解结果

按本次授权动作读取 status/auth_status 和实际返回的 auth_payload。需要用户操作时按渠道指南继续;authorized 表示授权完成,发送前仍需检查 runtime_status。

响应 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 返回的值;此接口的返回范围见下方枚举。

enum: whatsapp

auth_mode
string

该授权会话的认证模式;当前为 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_code;验证码步骤使用 type=code;Passkey 使用 type=passkey 和 public_key。互斥步骤的载荷不会同时出现。

authorize_url
string

包含不透明凭证的短期托管授权 URL,切勿记录或分享完整值。

format: uri

expires_at
string

RFC3339 时间戳,超过该时刻后当前 auth_payload 失效。

format: date-time

switchable
boolean

托管授权会话是否允许用户切换认证模式。

available_auth_modes[]
string[]

托管授权会话中可用的认证模式。

响应

201

201 Created

请求成功,响应体示例如上。

400

请求错误

请求体、路径或参数不合法。

401

未授权

X-Api-Key 请求头缺失或无效。

409

冲突

当前操作与已有的渠道账号或资源冲突。

500

服务端错误

服务端遇到了未预期的错误。

503

服务不可用

所需的后端服务暂时不可用。

失败后怎么处理

检查 HTTP 状态和 error.code/numeric_code,保存 request_id 用于排查。按原因修正参数、继续授权或检查运行态。重试发送及其他写操作前先确认上一次结果,避免重复操作。 错误码参考

invalid_request · 10000 · 400
检查必填字段、格式和渠道条件,修正请求后再调用。
missing_api_key · 11000 · 401
检查 X-Api-Key 是否正确、工作区是否有效。
invalid_api_key · 11001 · 401
检查 X-Api-Key 是否正确、工作区是否有效。