参考文档:将消息转发到客服https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html
1.在微信公众号中开通客服功能。
image.png
在未开通中找到客服并添加
image.png
通过在pc端登录客服 来接收回复消息
2.具体代码将消息转发到客服
如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息 POST 到开发者填写的 url 上,如果希望将消息转发到客服系统,则需要开发者在响应包中返回 MsgType 为transfer_customer_service的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。您也可以在返回transfer_customer_service消息时,在 XML 中附上 TransInfo 信息指定分配给某个客服帐号。
在Index控制中调取推送消息给客服
case Wechat::MSG_TYPE_TEXT :
$usrdata=$this->auth->getUserInfo($data['FromUserName'],$lang = 'zh_CN');
$wechat->responsekefu($usrdata['openid'],'transfer_customer_service');
Wechat.class.php
/**
* 转发客服消息
* @param unknown $ToUserName
* @param unknown $type
*/
public function responsekefu($ToUserName, $type = self::MSG_TYPE_TEXT){
/* 基础数据 */
$data = array(
'ToUserName' => $ToUserName,//openid
'FromUserName' => 'gh_39b0356d292d',//公众号原始id
'CreateTime' => time(),
'MsgType' => $type,
);
//安全模式,加密消息内容
if(self::$msgSafeMode){
$data = self::generate($data);
}
/* 转换数据为XML */
$xml = new \SimpleXMLElement('<xml></xml>');
self::data2xml($xml, $data);
exit($xml->asXML());
}
image.png
网友评论