You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在WhatsApp Cloud API中发送元数据并获取上下文的技术问询

解决WhatsApp Cloud API回复消息时获取元数据ID的问题

核心说明

WhatsApp Cloud API不会将你发送消息时携带的metadata直接返回在context字段中,你需要通过消息ID关联本地存储的方式来获取对应的idUser和idBranch。

步骤1:发送带元数据的消息(完整请求格式)

确保你的请求格式完整,补充模板必要字段:

{
  "messaging_product": "whatsapp",
  "to": "52" + recipient,
  "metadata": {
    "idUser": 60,
    "idBranch": 76
  },
  "type": "template",
  "template": {
    "name": "booking_confirmation_request",
    "language": {
      "code": "es_MX"
    }
  }
}

发送成功后,保存WhatsApp API返回的message_id,并将其与idUser、idBranch关联存入你的业务数据库。

步骤2:通过Webhook接收回复并获取关联ID

当餐厅回复这条消息时,Webhook会推送包含context字段的消息对象,其中context.id就是你之前发送的那条消息的ID:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "YOUR_BUSINESS_ACCOUNT_ID",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "messages": [
              {
                "from": "RESTAURANT_PHONE_NUMBER",
                "id": "REPLY_MESSAGE_ID",
                "context": {
                  "id": "MESSAGE_ID_YOU_SENT_EARLIER"
                }
              }
            ]
          }
        }
      ]
    }
  ]
}

提取context.id,查询你的数据库即可拿到对应的idUser和idBranch,进而向用户发送预订确认消息。

关键注意事项

  • metadata字段仅用于业务自定义标识,WhatsApp不会存储或在回复消息的context中回传该内容,仅会在发送状态通知中附带,但无法通过回复消息关联获取。
  • 本地维护消息ID与业务元数据的映射关系,是当前唯一可靠的关联方案。

内容的提问来源于stack exchange,提问作者Ransomware0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 23:30:47