API 參考
渠道方對比

WhatsApp 接入授權

WhatsApp 支援 QR 配對與手機號配對,統一透過標準認證介面完成。

qrcode

WhatsApp QR 配對:呼叫 /auth/qr/start 啟動裝置會話。QR 字串透過 account.auth.required 事件推送到你的 webhook,同時也快取在 /auth/qr/check 供同步輪詢。

  1. 1. POST /v1/accounts,provider=whatsapp,auth_mode=qrcode。可選傳 provider_data.device_os / device_platform / proxy_config 控制手機端顯示的裝置指紋。
  2. 2. POST /v1/accounts/{account_id}/auth/qr/start 啟動裝置。回傳 status=awaiting_qr_scan,但 QR 字串是非同步到達。
  3. 3. 監聽 webhook 的 account.auth.required 事件 —— auth_payload.qr_code 是要前端渲染成二維碼圖片的原始字串。也可以輪詢 /auth/qr/check。
  4. 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. 1. POST /v1/accounts,provider=whatsapp、auth_mode=code,並把 provider_data.phone 設為 E.164 純數字格式(不含 +)。電話號碼會持久化在帳號上,後續認證動作會自動帶入。
  2. 2. POST /v1/accounts/{account_id}/auth/start,送出空的 body。系統會沿用先前保存的手機號;回應的 auth_payload 中帶有 8 位 verify_code。
  3. 3. 把 verify_code 顯示給使用者。手機端接受時間約 3 分鐘,逾時需要重新發起。
  4. 4. 配對完成後,account.auth.succeeded 與 account.started 透過 webhook 到達,與 QR 流程一致。
  • provider_data.phoneE.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。