小程序的文档真的很多坑!
第一步,小程序登录后,配置消息推送的url,返回echostr,则接入成功!然后就可以把代码注释掉了,因为验证是GET你的url,而后面接入客服消息则是POST你的url。
第二步,小程序登录后,左边菜单栏有个【客服】,把自己的微信号添加进去当做客服。
前两步比较正常…
第三步,在url方法里做转发给微信内置的客服。
也是Post里面的返回。正常的话,返回‘success’就不会提示故障。
return “success”就可以了。
要接入客服,文档里这么说的,【消息转发到客服
如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,如果希望将消息转发到客服系统,则需要开发者在响应包中返回MsgType为transfer_customer_service的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。
<xml>
<ToUserName><![CDATA[touser]]></ToUserName>
<FromUserName><![CDATA[fromuser]]></FromUserName>
<CreateTime>1399197672</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml>】文档地址:https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html
不过这会需要多看一眼参数说明,参数说明,参数说明!!!!!
微信服务器向你的url,Post过来的数据是这样的【<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1482048670</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>】
同样需要多看一眼参数说明,参数说明,参数说明!!!!!
这里,你的return 里面需要怎么写?????很简单!
【return “<xml><ToUserName><![CDATA[” + FromUserName + “]]></ToUserName><FromUserName><![CDATA[” + ToUserName + “]]></FromUserName><CreateTime>” + CreateTime + “</CreateTime><MsgType><![CDATA[transfer_customer_service]]></MsgType></xml>”;】
把接收到的FromUserName,当做ToUserName返回。
把接收到的ToUserName,当做FromUserName返回。
CreateTime不变。
MsgType,返回<![CDATA[transfer_customer_service]]>
拼接好了,直接返回string类型即可!
良心啊
第三方平台测试直接返回xml不进行加密会提示服务出现故障。加密也提示服务出现故障,授权的小程序未上线会影响吗。
我返回XML咋不行啊
你好,我是用java对接的微信小程序客服消息的,出现问题了,想请教你一下,可以吗?问题如下
https://developers.weixin.qq.com/community/develop/doc/0004aef5d90cc8996f5a3943356400
请问配置的服务器URl必须是线上地址吗,开发阶段怎么联调测试呢?多谢。
参考下我做的
PHP实现小程序客服消息自动回复(2020最新)
https://www.jianshu.com/p/e7dcfcc855ba
请问一下为什么我的post请求的数据仍然是get的几个参数,并不是数据包
StreamReader streamReader = new StreamReader(Request.InputStream);
String inputStr = streamReader.ReadToEnd();
我这样读的,你参考下
可以给个链接或者二维码体验一下吗?