Sign inGet started

发送 WhatsApp 回应

用表情回应联系人的消息,例如竖起大拇指表示已收到对方的回复。你可以替换回应或稍后移除它。

前提条件

你需要一个具有 WhatsApp 写入权限的 API 密钥,以及你的工作区收到的消息的 Bird 消息 ID(wam_…)。使用来自 whatsapp.receiveddata.whatsapp_id,或来自 WhatsApp 日志的消息 id
将示例消息 ID 替换为你的工作区收到的消息的 ID。使用 TypeScriptPythonGoPHP SDK 指南为你的语言初始化客户端。对于 CLI 示例,请安装并认证 CLI,确保具有 WhatsApp 写入权限。在 cURL 请求中使用与你的工作区区域对应的 API 主机。

1. 添加回应

调用对 WhatsApp 消息添加回应,传入一个表情:
const reaction = await bird.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", {
  emoji: "👍",
});
console.log(reaction.id, reaction.emoji);
API 返回 202,包含已接受回应的 idwar_…)和 emoji。保存回应 ID 以便在回应日志中查找其结果。接受并不意味着 WhatsApp 已应用该回应。
你在每条消息上只能保留一个回应。要替换它,使用不同的表情重复 PUT 请求。回应不收费。

2. 检查回应结果

检索消息以查看其当前 reactions,每个发送者一条记录。要了解某次特定更改的结果,请列出消息的回应事件并查找已保存的回应 ID。
回应日志记录最终结果:sent 表示 WhatsApp 接受了你的更改,failed 表示 WhatsApp 拒绝了它,rejected 表示 Bird 在传输前拒绝了它。对于失败或被拒绝的更改,请检查事件的 error。待处理的回应尚无日志条目。回应没有送达回执、已读回执,也没有出站回应 webhook。

3. 移除你的回应

使用相同的消息 ID 调用移除 WhatsApp 回应
await bird.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg");
API 返回 202,没有响应正文。移除操作异步处理;检查消息的当前 reactions 或其回应日志以确认结果。移除日志条目具有 emoji: null。移除不存在的回应是安全的,此操作移除的是你工作区的回应,而非联系人的回应。

故障排除

  • 404 (E15071):检查目标消息 ID 和工作区。Bird 保留添加或移除回应所需的消息引用,有效期为 15 天。
  • 422 (E01001):使用收到的消息和单个表情。你无法对工作区发送的消息添加回应。组合表情算作一个表情;两个独立的表情则不算。
  • 202 后回应未变化:检查回应日志以查找失败或被拒绝的更改。成功的 HTTP 响应确认已接受处理。

后续步骤