评论

关于小程序接入客服消息的问题,今天亲测成功!

关于小程序接入客服消息的问题,今天亲测成功! 百度了好多,社区也问了好多,说法各样。有的说不用后台转发,有的说用第三方更好,百度也有很多朋友遇到这样的问题。

小程序的文档真的很多坑!
第一步,小程序登录后,配置消息推送的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类型即可!

最后一次编辑于  2019-10-28  
点赞 1
收藏
评论

7 个评论

  • 汪珺
    汪珺
    10-20

    第三方平台测试直接返回xml不进行加密会提示服务出现故障。加密也提示服务出现故障,授权的小程序未上线会影响吗。

    10-20
    赞同
    回复
  • 爪哇⁶⁶⁶
    爪哇⁶⁶⁶
    08-11

    我返回XML咋不行啊

    08-11
    赞同
    回复
  • 泪之幻月
    泪之幻月
    05-13

    你好,我是用java对接的微信小程序客服消息的,出现问题了,想请教你一下,可以吗?问题如下

    https://developers.weixin.qq.com/community/develop/doc/0004aef5d90cc8996f5a3943356400

    05-13
    赞同
    回复
  • 早起者
    早起者
    04-19

    请问配置的服务器URl必须是线上地址吗,开发阶段怎么联调测试呢?多谢。

    04-19
    赞同
    回复
  • in.
    in.
    04-08

    参考下我做的

    PHP实现小程序客服消息自动回复(2020最新)

    https://www.jianshu.com/p/e7dcfcc855ba

    04-08
    赞同
    回复
  • 。
    2019-11-06

    请问一下为什么我的post请求的数据仍然是get的几个参数,并不是数据包

    2019-11-06
    赞同
    回复 6
    • Sure
      Sure
      2019-11-06
      参数名一样,值不一样的。
      2019-11-06
      回复
    • 。
      2019-11-06回复Sure
      谢谢回复,但是post请求应该传过来的数据都没有,应该有文本信息的
      2019-11-06
      回复
    • Sure
      Sure
      2019-11-06回复
      Post是没有参数传过来的。
                   StreamReader streamReader = new StreamReader(Request.InputStream);
                      String inputStr = streamReader.ReadToEnd();
      我这样读的,你参考下
      2019-11-06
      回复
    • 。
      2019-11-06回复Sure
      是的,post正常的request.getParameter("")取不到参数,大哥你是怎么做的能不能多来点代码
      2019-11-06
      回复
    • 。
      2019-11-06回复Sure
      多谢大哥找到问题了,确实微信过来的不能request.getParameter("")接的
      2019-11-06
      回复
    查看更多(1)
  • hotNoWind
    hotNoWind
    2019-10-22

    可以给个链接或者二维码体验一下吗?

    2019-10-22
    赞同
    回复 6
    • Sure
      Sure
      2019-10-22
      体验啥?
      2019-10-22
      回复
    • hotNoWind
      hotNoWind
      2019-10-22回复Sure
      你的这个是小程序的客服消息配置吗?
      2019-10-22
      回复
    • Sure
      Sure
      2019-10-22
      是的
      2019-10-22
      回复
    • hotNoWind
      hotNoWind
      2019-10-22回复Sure
      谢谢,请问你的小程序上线了吗?可以看看吗?
      2019-10-22
      回复
    • Sure
      Sure
      2019-10-22
      审核不过.....
      2019-10-22
      回复
    查看更多(1)
登录 后发表内容