我正在使用 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 调用可以告诉我与用户的对话是否仍在进行中?
以下响应是云 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"
}
]
}
]
}