微信开发(八)自动回复和多客服开发
2015-04-30 14:41
232 查看
div#cpmenu {height:200px;float:left;}
div#cpcontent {height:200px;width:150px;float:left;}
文章作者:松阳 本文出自 阿修罗道,禁止用于商业用途,转载请注明出处。 原文链接:/article/1368167.html
自动回复功能大致的使用情景是,用户发送“流量”,服务号回复“亲,送流量活动是xxxxxx: 快点击【抢流量】 来参加。”
而多客服应该是自动回复的一个超集,如果自动回复处理不了,就要转接到客服那里。
如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,如果希望将消息转发到多客服系统,则需要开发者在响应包中返回
因此我做了这样的设计,收到用户输入的消息后,首先在数据库的表中检查是否有匹配的应答,如果有则直接返回给用户,否则,就返回类型为
如果你觉得这篇文章对你有帮助,可以顺手点个顶,不但不会喜当爹,还能让更多人能看到它...
div#cpcontent {height:200px;width:150px;float:left;}
文章作者:松阳 本文出自 阿修罗道,禁止用于商业用途,转载请注明出处。 原文链接:/article/1368167.html
定制的服务
对于微信服务号来说,最主要的功能是提供更好的服务。用户更方便的操作,以及更快的反馈响应。自动回复功能,能够大幅减少交互时间和客服工作量,在服务号推活动时尤其明显。另外就是在多客服功能,这个就强大了,简直就是一个企业qq服务号。目前还不要钱,不过我感觉未来可能会变成一个收费功能使用场景
这两个东西走一套流程,所以这里放在一起说了。自动回复功能大致的使用情景是,用户发送“流量”,服务号回复“亲,送流量活动是xxxxxx: 快点击【抢流量】 来参加。”
而多客服应该是自动回复的一个超集,如果自动回复处理不了,就要转接到客服那里。
技术实现
从技术上讲,这两个功能是也一套逻辑。服务回复用户消息,使用的是统一的格式,如果消息需要转到多客服,需要给微信服务器回复类似这样的消息体:<xml> <ToUserName><![CDATA[touser]]></ToUserName> <FromUserName><![CDATA[fromuser]]></FromUserName> <CreateTime>1399197672</CreateTime> <MsgType><![CDATA[transfer_customer_service]]></MsgType> </xml>官方文档说明是这样的:
如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,如果希望将消息转发到多客服系统,则需要开发者在响应包中返回
MsgType为
transfer_customer_service的消息,微信服务器收到响应后会把当次发送的消息转发至多客服系统。具体可以参照这里
因此我做了这样的设计,收到用户输入的消息后,首先在数据库的表中检查是否有匹配的应答,如果有则直接返回给用户,否则,就返回类型为
transfer_customer_service的消息,将其转接到客服那边。
实现
protected String getRawText(String key) { // 如果对应的EVENT_KEY有个相同的配置信息,就直接载入 String tmpRaw = getRawByStateDao(key); if (tmpRaw != null && tmpRaw.length() > 0) { raw = tmpRaw; } else { raw = ""; } return raw; } String getRawByStateDao(String key) { //you should get data from db here } public String getContextText(String key) { // 回复文本消息 TextMessage textMessage = new TextMessage(); textMessage.setToUserName(fromUserName); textMessage.setFromUserName(toUserName); textMessage.setCreateTime(new Date().getTime()); String contextText = getRawText(key); if(contentText.length()>0){ textMessage.setContent(contentText); textMessage.setMsgType("text"); } else { textMessage.setMsgType("transfer_customer_service"); } // 将文本消息对象转换成xml String respXml = MessageUtil.messageToXml(textMessage); return respXml; }大致流程就是这样,使用时调用
getContextText函数,就返回一个包装好的消息,走HTTP返还给鹅厂的服务器。
部署
在微信公众号的后台选择添加功能插件->多客服。添加好功能模块后,添加一个客服工号,下载安装客户端。这个部署比较简单,没啥大坑。上线后拉着客服人员,给做个简单的使用培训就成了。如果你觉得这篇文章对你有帮助,可以顺手点个顶,不但不会喜当爹,还能让更多人能看到它...
相关文章推荐
- 微信开发(八)自动回复和多客服开发
- 微信开发(八)自动回复和多客服开发
- 微信开发:自动回复和多客服开发
- 微信开发之关注自动回复
- 微信开发--自动回复图片
- 微信开发自动回复消息乱码问题
- java 微信自动回复功能开发(续)
- 微信开发 (自动回复图片,自定义菜单)
- PHP微信开发之微信消息自动回复下所遇到的坑
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- java 微信自动回复功能开发
- 【微信开发】公众号自动回复文字和图文链接
- 微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
- 微信--使用客服消息异步自动回复用户消息
- 微信开发(怎样接入微信公众平台,自动回复)
- nodejs微信开发--自动回复 wechat
- 微信开发自动回复百科内容(百度百科已经失效,现在用互动百科)
- PHP微信开发---简单的文本自动回复
- 微信开发之自动回复
- php版微信开发之接收消息,自动判断及回复相应消息的方法