文章目录
- 前言
- 一、什么原因导致的微信小程序客服收不到C端用户所发消息?
- 二、如何解决当前问题方案?
- 1. 使用微信官方提供的 将消息转发到客服
- 2. 请求参数说明
- 2. 避坑点?
- 总结
前言
- 场景: 因为对接了视频号自定义交易组件, 开启了微信小程序的消息回调通知,导致了微信小程序客服C端消息发送到了后台系统所配置的消息事件通知地址内,就我们如何解决当前微信客服收不到用户所发消息问题,本文就详细简述相关解决办法。
一、什么原因导致的微信小程序客服收不到C端用户所发消息?
- 微信小程序后台-开发-开发管理-开发设置 中开启了消息推送功能
二、如何解决当前问题方案?
1. 使用微信官方提供的 将消息转发到客服
注: 当前返回值为xml格式则返回xml, 若配置为json 返回则为json类型
2. 请求参数说明
注: 官方文档的没有提示的问题,ToUserName 和 FromUserName 必须对换值后返回才会有效
微信返回json值如下(示例):
"""
Event: customer_service_message
当前key的值,原本为空, 但是我所有的事件回调都是以当前值区分处理, 所以我根据MegId去填充了一个唯一值
"""
{
'ToUserName': 'gh_3215edca721',
'FromUserName': 'o4uDc4j93DK0eqaMZvYe99aQ',
'CreateTime': 1652672689,
'MsgType': 'text',
'Content': '你好',
'MsgId': 23660580844188965,
'Event': 'customer_service_message'
}
我们返回微信json值如下(示例):
"""
ToUserName 和 FromUserName 反向赋值
CreateTime 直接获取微信返回的
MsgType 固定写法 返回transfer_customer_service
"""
{
"ToUserName": self.callback_data.get("FromUserName"),
"FromUserName": self.callback_data.get("ToUserName"),
"CreateTime": self.callback_data.get("CreateTime"),
"MsgType": "transfer_customer_service",
}
2. 避坑点?
- ToUserName 和 FromUserName 必须反向赋值, 不然不会有反应。
- MsgType 固定写法返回transfer_customer_service。
- 配置回调信息为xml 返回必须也为xml格式, JSON格式则返回JSON格式。
- 最好是配置密文傳輸,再对信息进行验证检验是否为微信返回的数据。
总结
俗話說讀萬卷書,不如動手去實踐驗證。
好了, 以上就是本篇講解的所有内容。