Python 实现微信小程序消息转发到客服, 避免踩坑一篇就够了


前言

  • 场景: 因为对接了视频号自定义交易组件, 开启了微信小程序的消息回调通知,导致了微信小程序客服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格式。
  • 最好是配置密文傳輸,再对信息进行验证检验是否为微信返回的数据。

总结

俗話說讀萬卷書,不如動手去實踐驗證。
好了, 以上就是本篇講解的所有内容。
如果對你有幫助的話, 點贊收藏哦!

猜你喜欢

转载自blog.csdn.net/Return_Li/article/details/124796334