首先说一下我做到哪一步了:
1. 我在微信公众平台(小程序)那已启用消息推送,推送的格式就是xml,且消息服务器已通过。
2. 我自己试验,在小程序端客服会话中发言,在消息服务器上打印Log,是有POST请求过来的。
3. 响应“success”,是有效的。
好的,接下来,问题来了:
我在响应包中返回 MsgType 为 transfer_customer_service 的消息时,却显示“该小程序暂时无法提供服务,请稍后再试”,很明显,微信服务器不认我这个响应包。我查了一下LOG,请求是这样的:
<xml>
<ToUserName><![CDATA[ob9Z65TybSpWrCSdd8PQl_FwOMQ8]]></ToUserName>
<FromUserName><![CDATA[wxcf79daa9a7024018]]></FromUserName>
<CreateTime>1527747481</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml>
我自己的分析是这样的:
- 响应“success”
的时候是没问题的,也就是说微信端跟我的消息服务器之间的通信是OK的。
- 在响应包中返回 MsgType 为 transfer_customer_service 的消息时报错,表示微信那边不认这个响应的结果。聊天窗口显示‘该小程序客服暂时无法提供服务,请稍后再试’。
这到底是什么情况呢?
楼主,我想问一下,那个接口不是返回success给腾讯吗?我是不是要返回xml格式的数据给腾讯才可以,意思是不是要修改返回的参数了。不返回success了。
另外再问一个问题,是不是如果登陆了https://mpkf.weixin.qq.com这个url 以后自己的服务器就收不到用户和客服的聊天记录了。
谢谢;楼主
楼主是在第三方平台开发的吗?我是第三方平台开发,看了返回的XML,都是对的,就是消息转不过去,,别外你返回这个XML是在微信推消息给你的那个URL里返回的吗?
嗯 我的消息转发是后端服务做的。你可能跟我一样是因为字段的传的值原因。用户open_id 和 小程序的原始id 划重点 原始id,原始id,原始id,原始id
问题解决了,找到问题了