收藏
回答

第三方 客服消息转发到网页版工具无法转发的问题

首先说一下我做到哪一步了:
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 的消息时报错,表示微信那边不认这个响应的结果。聊天窗口显示‘该小程序客服暂时无法提供服务,请稍后再试’。

这到底是什么情况呢?


$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml>";

$textTpl = sprintf ( $textTpl, $FromUserName_i->item(0)->nodeValue, $ToUserName_i->item(0)->nodeValue, time() );

$return_errCode = $pc->encryptMsg($textTpl, $timestamp, $nonce, $encryptMsg_now);


nonce和timestamp都是微信get过来的数据,加密结果$return_errCode返回的也是0.但是就是不成功


回答关注问题邀请回答
收藏

1 个回答

  • 2019-01-02

    我也碰到了这个问题,请问你现在解决没有? 求分享经验

    2019-01-02
    有用
    回复 6
    • 香香奶黄包
      香香奶黄包
      2019-01-02

      算是解决了吧。就是小程序在授权给第三方的时候,客服消息不授权就好了。

      2019-01-02
      2
      回复
    • 2019-01-02回复香香奶黄包

      哈哈哈  原来如此 感谢感谢

      2019-01-02
      回复
    • 听风(章宵)
      听风(章宵)
      2020-01-15回复香香奶黄包
      没有授权,那不是发不了消息了么?
      2020-01-15
      回复
    • 香香奶黄包
      香香奶黄包
      2020-01-16
      是的。但是可以实现将客服消息转发到网页版工具
      2020-01-16
      回复
    • bb
      bb
      2021-05-10
      牛。真行了。
      不过为啥第三方就不得行。累了
      2021-05-10
      回复
    查看更多(1)
登录 后发表内容