客服消息转发
发布于 5 年前 作者 juanma 5926 次浏览 来自 问答

我是第三方平台方,需要把小程序客服消息转接到官方的客服聊天系统中,服务器接口是接受到了信息了,并且按照格式要求:

 <xml>
     <ToUserName><![CDATA[touser]]></ToUserName>
     <FromUserName><![CDATA[fromuser]]></FromUserName>
     <CreateTime>1399197672</CreateTime>
     <MsgType><![CDATA[transfer_customer_service]]></MsgType>
 </xml>

返回了这个响应消息了,ToUserName为接收到的用户openid,FromUserName为接收到的小程序的原始id,然而我的客服还是没收到转接过来的消息,请问是神马情况?

8 回复

太坑了,第三方平台托管小程序这边问题真多,接口不完善就不要发出来嘛

亲,你解决了吗?

客服消息转发的文档有问题,解决方法是这样的

  • 如果消息API配置的是json, 则需回复json;是XML,则回复XML

  • 其次按照文档ToUserName为接收到的用户的openid,FromUserName为接收到的小程序的原始id

  • 最后容易出问题的是CreateTime必须要是腾讯传过来的值,不能修改... (太坑了)



防坑指南:如果你们的返回值和我一样为invalid openid ,那么极有可能你们和我一样误以为应该通过send接口发送这个数据包,但是坑就坑在,他其实只要直接输出就好了,对,就是转个json然后echo出来。请注意除此之外别又多输出了success之类的东西

是的哦!我也遇到这问题。转发不了。太深奥了

弄了一天了,终于解决了。

首先要看一下微信后台设置的json格式或者xml格式。

json就返回json,xml就返回xml。

不要返回纯文本,坑就在这里(success是纯文本,所以绝大多数猿友返回也是直接组成字符串返回了,切记需要设置

response.setContentType(“text/xml”);

或者

response.setContentType("application/json;charset=utf-8");

还是不行,2楼大哥也有这问题吗?

回到顶部