在做“客服消息”开发时遇到的一个问题。
发送消息:msgtype 为text和link时都没有问题。"touser"写的是消息发送到服务器是接收到的$_POST['FromUserName'].
问题出现在转发消息给客服的时候:msgtype为transfer_customer_service;"ToUserName"是$_POST['FromUserName'];"FromUserName"是小程序对应的appid;可是报错{"errcode":40003,"errmsg":"invalid openid hint: [hpx9VA08323938]"}
我的理解是"ToUserName"应该写客服的openid,所以改成客服的openid,可是也不行。
所以我想问,"ToUserName"、"FromUserName"到底传什么?
openid和token是没问题的,因为msgtype 为text和link时都没有问题。
什么原因?
transfer_customer_service 这种类型只能在接收到推送的回包里设置,不能再调用 /cgi-bin/message/custom/send里使用。
那么然后呢?我应该怎么使用 /cgi-bin/message/custom/send,怎么才能把消息转发给客服?
这种情况不能使用 /cgi-bin/message/custom/send。只能在接收推送的那一次响应里回包
后面怎么解决的
你好,建议先参考下面的回答
小程序客服消息推送 40003
https://developers.weixin.qq.com/community/develop/doc/00068cd29a4278710f08b82a651c00
你可能没看明白我说的。
我在php后台服务里写了两个处理方法。一个是自动回复,向用户发送消息。该方法需要用到access_token和openid,该方法是成功的,可以向用户发送消息;但是我还写了另一个方法,向客服转发消息,用同样的access_token和openid确不行,总不可能一个方法里面可以,到另一方法里access_token和openid就错了吧?