渠道方对比
WhatsApp 接入授权
WhatsApp 支持 QR 配对和手机号配对,统一通过标准认证接口完成。
qrcode
WhatsApp QR 配对:调 /auth/qr/start 启动设备会话。QR 字符串通过 account.auth.required 事件推送到你的 webhook,同时也缓存在 /auth/qr/check 供同步轮询。
- 1. POST /v1/accounts,provider=whatsapp,auth_mode=qrcode。可选传 provider_data.device_os / device_platform / proxy_config 来控制手机端显示的设备指纹。
- 2. POST /v1/accounts/{account_id}/auth/qr/start 启动设备。返回 status=awaiting_qr_scan,但 QR 字符串是异步到达。
- 3. 监听 webhook 的 account.auth.required 事件 —— auth_payload.qr_code 是要前端渲染成二维码图片的原始字符串。也可以轮询 /auth/qr/check。
- 4. 扫码成功后,account.auth.succeeded 事件会带着 provider_account_ref 落到你的 webhook,紧接着 account.started 事件。POST /v1/accounts/{account_id}/runtime/start 在这之后是 no-op。
provider_data.device_os— 配对过程中显示的可选设备标签。除非需要自定义显示名称,否则可留空。provider_data.device_platform— 设备平台数字编码(1=CHROME,2=FIREFOX,5=SAFARI,14=IOS_PHONE,16=ANDROID_PHONE,...)。必须与 device_os 同时传入才生效。provider_data.proxy_config— 企业部署可选的网络路由配置。
code
WhatsApp 手机号配对:在创建账号时就把手机号保存到账号上,然后在手机端 "已链接的设备 → 使用电话号码链接" 输入 8 位 verify_code。
- 1. POST /v1/accounts,provider=whatsapp,auth_mode=code,provider_data.phone 填 E.164 纯数字格式的手机号。手机号会持久化到账号,后续认证动作自动复用。
- 2. POST /v1/accounts/{account_id}/auth/start,body 为空。已保存的手机号会被自动复用;响应的 auth_payload 中携带 8 位 verify_code。
- 3. 把 verify_code 显示给用户。手机端接受时间约 3 分钟,超时需要重新发起。
- 4. 配对完成后,account.auth.succeeded 和 account.started 通过 webhook 到达,与 QR 流程一致。
provider_data.phone— E.164 格式纯数字手机号(如 15551234567)。在创建账号时填到 provider_data.phone,后续认证动作会自动复用。
备注
- QR 码通过 webhook 的 account.auth.required 事件异步下发,而不是 /auth/qr/start 的同步返回。启动流程前必须先把 webhook 接收端配好。
- /auth/start 返回的 verify_code 是给最终用户看的,不需要再回传给 API。WhatsApp 期望用户在 3 分钟内把它输入到手机端。
- WhatsApp 的表情反应会作为 message.reaction 事件下发 —— emoji 在 data.event.reaction,被反应消息 id 在 data.message.target_message_id。
- 超过大小限制(音频 50MB / 视频 60MB / 文档 50MB)的媒体会产出 url 为空 + metadata.is_big_file=true 的 attachment。