渠道说明
WhatsApp Protocol 接入授权
WhatsApp Protocol 是独立渠道,使用 provider=whatsapp-protocol。目前仅支持会话导入(auth_mode=session),通过已有会话凭证完成授权。
上手步骤
- 1
列出渠道区域
查询 whatsapp-protocol 的可用区域,选择 allocatable=true 的区域。如果没有可分配区域,暂时无法在这些区域创建该渠道账号。
列出渠道区域curl -X GET "https://api.unifyport.ai/v1/providers/whatsapp-protocol/regions" \ -H "X-Api-Key: <YOUR_API_KEY>" - 2
创建账号
使用 provider=whatsapp-protocol、auth_mode=session 创建账号,将 data.id 保存为 account_id。协议凭证仅提交至 /auth/session,不要放入 provider_data。
创建账号curl -X POST "https://api.unifyport.ai/v1/accounts" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "WhatsApp Protocol", "provider": "whatsapp-protocol", "region": "<REGION>", "auth_mode": "session" }' - 3
导入会话
提交下面的 whatsapp-protocol 对象;本流程必须提供 phone 和四个密钥字段。密钥只写、响应不回显。省略弃用字段,不提交 edge_routing。
导入会话curl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth/session" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "whatsapp-protocol": { "phone": "8600000000000", "static_pub_key": "<STATIC_PUBLIC_KEY>", "static_pri_key": "<STATIC_PRIVATE_KEY>", "identity_pub_key": "<IDENTITY_PUBLIC_KEY>", "identity_pri_key": "<IDENTITY_PRIVATE_KEY>" } }' - 4
确认账号可以发送
导入后使用该 account_id 查询授权与运行态。返回 authorized 不等于连接已运行;账号仍离线时,先刷新运行态再尝试发送。
刷新运行时状态curl -X GET "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth" \ -H "X-Api-Key: <YOUR_API_KEY>" curl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/runtime/refresh" \ -H "X-Api-Key: <YOUR_API_KEY>"
备注
- 支持 text、image 和联系人详情;不支持引用回复、mentions、联系人列表及写动作、会话或群组操作。事件映射包括文本/图片 message.received、account.started、account.status.updated、account.auth.failed;实际投递仍取决于上游账号。
- 联系人详情需要已有 LID(xxx@lid)。只有入站事件的 data.sender.id 或 data.conversation.id 已以 @lid 结尾时才能直接复用。Protocol 不提供联系人列表查询,此接口也不能从手机号推算 LID;没有 LID 时无法进行此项查询。成功响应可能缺少资料字段。