微信公众平台开发(92) 多客服接入
关键字:微信公众平台开发 多客服
作者:方倍工作室
原文:http://www.cnblogs.com/txw1958/p/weixin-transfer-customer-service.html
在这篇微信公众平台开发教程中,我们将介绍如何使用开发模式实现多客服系统。
本文分为以下三个部分:
- 回复多客服消息
- 触发多客服会话
- 其他说明
一、回复多客服消息
在新的微信协议中,开发模式也可以接入客服系统。 开发者如果需要让用户使用客服系统,需要在接收到用户发送的消息时,返回一个MsgType为transfer_customer_service的消息,微信服务器在收到这条消息时,会把用户这次发送的和以后一段时间内发送的消息转发客服系统。
返回的消息举例如下
<xml> <ToUserName><![CDATA[touser]]></ToUserName> <FromUserName><![CDATA[fromuser]]></FromUserName> <CreateTime>1399197672</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> </xml>
该消息的实现如下(以方倍工作室的微信公众平台PHP SDK为基础)
//回复多客服消息 private function transmitService($object) { $xmlTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> </xml>"; $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time()); return $result; }
http://www.cnblogs.com/txw1958/p/weixin-transfer-customer-service.html
二、触发多客服会话
一般情况下,用户想要咨询问题是,经常会问“你好”,“在吗”,这样的问题。
我们以这些词为触发关键词,当用户发送的文本消息内容中包含这些词的时候,就返回多客服消息给用户(用户在微信端感觉不到任何内容,但微信公众账号会将用户本次及以后一段时间的消息都转发到客服)。
实现代码如下:
//接收文本消息 private function receiveText($object) { $keyword = trim($object->Content); if (strstr($keyword, "投诉") || strstr($keyword, "你好") || strstr($keyword, "在吗")){ $result = $this->transmitService($object); } return $result; }
http://www.cnblogs.com/txw1958/p/weixin-transfer-customer-service.html
三、其他注意事项
1. 经测试,在自定义菜单中返回多客服消息,无法让用户进入多客服状态。
2. 使用多客服消息后,后续所有消息在一段时间内都将作为客服消息转发,原来的开发模式下的自动回复都将失效!!!
3. 除了上述程序开发之外,多客服系统还需要进行系统配置。配置的相关内容可参考:
多客服新手指导 http://www.cnblogs.com/txw1958/p/weixin-multi-customer-service.html
多客服FAQ http://wkd.qq.com/php/static/mp/html/faq-1_1.html
====================================================================
方倍工作室微信公众平台账号关注方法:
1. 微信通讯录-添加朋友-查找公众号-搜索“方倍工作室”
2.
微信通讯录-添加朋友-搜号码-输入“pondbaystudio”
3. 使用微信扫描下面的二维码