我在为客户开发内部聊天时遇到一些问题。我已经看过这里的一些帖子,说没有办法做到这一点。因此,我不会问一个通用的问题,而是要提出我的问题,这样如果将来有人遇到困难,他们可以检查可能的解决方案。
基本上我的客户在 3 栋大楼里有 3 部手机,并且希望能够访问每部手机上的 WhatsApp 对话。我正在使用官方 WhatsApp API,我可以使用此 API 发送和接收消息。问题是:
当其中一名员工直接从 WhatsApp 发送消息时,我的端点收到的响应不包含本身发送的消息。我将在下面显示返回的 JSON。
我唯一能想到的就是尝试使用 wamid 的 get 方法,wamid 是唯一的 WhatsApp 消息 ID。但不幸的是 Whats API 不允许这样做。谁能想到一个解决方案,以便我可以保存发送的消息并将其导入我的数据库,以便它进入内部聊天?
也许可以通过这种集成构建一个移动应用程序,但开发一些 WhatsApp 副本不应该是最佳解决方案 lmao
{
"_id": {
"$oid": "65d6098e02eea5099ba46d00"
},
"object": "whatsapp_business_account",
"entry": [
{
"id": "178770005328586",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "15551337772",
"phone_number_id": "209170728947400"
},
"statuses": [
{
"id": "wamid.HBgNNTUxOTk5OTQ1OTE2NRUCABEYEjBDOUFEQjZERDIyRTY5MUU3QQA=",
"status": "read",
"timestamp": "1708525966",
"recipient_id": "5519999459165"
}
]
},
"field": "messages"
}
]
}
]
}
为任何可能使用whatsapp api 的未来开发人员回答我自己的问题。
在此发布日期之前,whatsapp 官方 api 不会为您通过自己的手机发送的消息提供返回消息。因此,不幸的是,您的客户将只需要使用您的个人聊天,或者,您将需要构建一个移动应用程序,以便他/她的员工使用而不是 Whatsapp。
旁边是这个。您还会面临另一个问题:
要提供完整的 Whatsapp 体验,您将需要每条消息的唯一“message_id”。那就跟我来吧:
您的客户在您的应用程序中写一条消息,然后发送。
您需要将其保存在数据库中
保存后,您向您的whatsapp api发送一个post请求。
成功发布后,您将收到包含您唯一id的json格式的返回。
要查找相应的消息,时间戳不是一个好的选择,而是查找没有上传状态的最旧数据,然后添加 id 和您需要的其他数据来上传。