发送 WhatsApp 回应
用表情回应联系人的消息,例如竖起大拇指表示已收到对方的回复。你可以替换回应或稍后移除它。
前提条件
你需要一个具有 WhatsApp 写入权限的 API 密钥,以及你的工作区收到的消息的 Bird 消息 ID(wam_…)。使用来自 whatsapp.received 的 data.whatsapp_id,或来自 WhatsApp 日志的消息 id。
将示例消息 ID 替换为你的工作区收到的消息的 ID。使用 TypeScript、Python、Go 或 PHP SDK 指南为你的语言初始化客户端。对于 CLI 示例,请安装并认证 CLI,确保具有 WhatsApp 写入权限。在 cURL 请求中使用与你的工作区区域对应的 API 主机。
1. 添加回应
调用对 WhatsApp 消息添加回应,传入一个表情:
const reaction = await bird.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", {
emoji: "👍",
});
console.log(reaction.id, reaction.emoji);reaction = client.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", emoji="\U0001f44d")
print(reaction.id, reaction.emoji)reaction, err := client.Whatsapp.Reaction.Set(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappReactionSetParams{
Emoji: "\U0001F44D",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(reaction.Id, reaction.Emoji)use MessageBird\Wire\Model\WhatsAppReactionUpsert;
$reaction = $bird->whatsapp->reaction->set(
'wam_01krdgeqcxet5s7t44vh8rt9mg',
(new WhatsAppReactionUpsert())->setEmoji("\u{1F44D}"),
);
echo $reaction->getId(), ' ', $reaction->getEmoji();bird whatsapp reaction set wam_01krdgeqcxet5s7t44vh8rt9mg --emoji '👍'curl -X PUT "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/reaction" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emoji": "👍"}'API 返回 202,包含已接受回应的 id(war_…)和 emoji。保存回应 ID 以便在回应日志中查找其结果。接受并不意味着 WhatsApp 已应用该回应。
你在每条消息上只能保留一个回应。要替换它,使用不同的表情重复 PUT 请求。回应不收费。
2. 检查回应结果
回应日志记录最终结果:sent 表示 WhatsApp 接受了你的更改,failed 表示 WhatsApp 拒绝了它,rejected 表示 Bird 在传输前拒绝了它。对于失败或被拒绝的更改,请检查事件的 error。待处理的回应尚无日志条目。回应没有送达回执、已读回执,也没有出站回应 webhook。
3. 移除你的回应
使用相同的消息 ID 调用移除 WhatsApp 回应:
await bird.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg");client.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg")if err := client.Whatsapp.Reaction.Remove(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg"); err != nil {
log.Fatal(err)
}$bird->whatsapp->reaction->remove('wam_01krdgeqcxet5s7t44vh8rt9mg');bird whatsapp reaction remove wam_01krdgeqcxet5s7t44vh8rt9mg --yescurl -X DELETE "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/reaction" \
-H "Authorization: Bearer $BIRD_API_KEY"API 返回 202,没有响应正文。移除操作异步处理;检查消息的当前 reactions 或其回应日志以确认结果。移除日志条目具有 emoji: null。移除不存在的回应是安全的,此操作移除的是你工作区的回应,而非联系人的回应。
故障排除
- 404 (E15071):检查目标消息 ID 和工作区。Bird 保留添加或移除回应所需的消息引用,有效期为 15 天。
- 422 (E01001):使用收到的消息和单个表情。你无法对工作区发送的消息添加回应。组合表情算作一个表情;两个独立的表情则不算。
- 202 后回应未变化:检查回应日志以查找失败或被拒绝的更改。成功的 HTTP 响应确认已接受处理。