有没有办法在whatsapp云API中了解对话当前是否打开?

问题描述 投票:0回答:1

我正在使用 Whatsapp Business API 实现类似 Whatsapp 的聊天功能。

有 24 小时规则,为了向 Whatsapp 号码发送消息,您需要先发送批准的模板。之后,一旦用户回复,企业帐户就可以在接下来的 24 小时内发送自由格式的消息。

发送自由格式消息时,API 返回以下类型的 json:

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "<WHATSAPP_USER_PHONE_NUMBER>",
      "wa_id": "<WHATSAPP_USER_ID>"
    }
  ],
  "messages": [
    {
      "id": "<WHATSAPP_MESSAGE_ID>"
    }
  ]
}

但是,如果在 24 小时之外发送,此 json 并不能保证消息已送达。无论对话是否打开,都会返回这个 json,这没有多大帮助。

那么你知道是否有一个 api 调用可以告诉我与用户的对话是否仍在进行中?

whatsapp whatsapp-cloud-api
1个回答
0
投票

以下响应是云 API 通知类型响应的示例,一旦消息传递给用户,在 JSON 响应中您将获得 statuses 对象,status 键值为 delivered/Sent .

{
"object": "whatsapp_business_account",
"entry":
[
    {
        "id": "DUMMY_ID",
        "changes":
        [
            {
                "value":
                {
                    "messaging_product": "whatsapp",
                    "metadata":
                    {
                        "display_phone_number": "XXXX",
                        "phone_number_id": "XXXX"
                    },
                    "statuses":
                    [
                        {
                            "id": "wamid.XXXXX",
                            "status": "delivered",
                            "timestamp": "1709882540",
                            "recipient_id": "PHONE_NUMBER",
                            "conversation":
                            {
                                "id": "e45e283030e944sd3rqd",
                                "origin":
                                {
                                    "type": "service"
                                }
                            }
                            
                        }
                    ]
                },
                "field": "messages"
            }
        ]
    }
]
}
© www.soinside.com 2019 - 2024. All rights reserved.