关闭

微信开发(八)自动回复和多客服开发

标签: 微信开发模式开发者自动回复多客服
17948人阅读 评论(2) 收藏 举报
分类:


文章作者:松阳

本文出自 阿修罗道,禁止用于商业用途,转载请注明出处。  

原文链接:http://blog.csdn.net/fansongy/article/details/45394641







定制的服务

对于微信服务号来说,最主要的功能是提供更好的服务。用户更方便的操作,以及更快的反馈响应。自动回复功能,能够大幅减少交互时间和客服工作量,在服务号推活动时尤其明显。另外就是在多客服功能,这个就强大了,简直就是一个企业qq服务号。目前还不要钱,不过我感觉未来可能会变成一个收费功能

使用场景

这两个东西走一套流程,所以这里放在一起说了。

自动回复功能大致的使用情景是,用户发送“流量”,服务号回复“亲,送流量活动是xxxxxx: 快点击【抢流量】 来参加。”

而多客服应该是自动回复的一个超集,如果自动回复处理不了,就要转接到客服那里。

技术实现

从技术上讲,这两个功能是也一套逻辑。服务回复用户消息,使用的是统一的格式,如果消息需要转到多客服,需要给微信服务器回复类似这样的消息体:

 <xml>
     <ToUserName><![CDATA[touser]]></ToUserName>
     <FromUserName><![CDATA[fromuser]]></FromUserName>
     <CreateTime>1399197672</CreateTime>
     <MsgType><![CDATA[transfer_customer_service]]></MsgType>
 </xml>

官方文档说明是这样的:

如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,如果希望将消息转发到多客服系统,则需要开发者在响应包中返回MsgTypetransfer_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返还给鹅厂的服务器。

部署

在微信公众号的后台选择添加功能插件->多客服。添加好功能模块后,添加一个客服工号,下载安装客户端。这个部署比较简单,没啥大坑。上线后拉着客服人员,给做个简单的使用培训就成了。

如果你觉得这篇文章对你有帮助,可以顺手点个,不但不会喜当爹,还能让更多人能看到它... 

28
3
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

java微信开发-消息接收和自动回复

0、前提条件 1、需要一个公众平台帐号(测试帐号也可以) 2、平台需要被人关注 1、导入jarcommons-beanutils-1.8.0.jar commons-collections-...
  • u011466609
  • u011466609
  • 2016-03-14 15:34
  • 4759

微信开发踩坑之旅 之 自动回复功能

本文记述主线 ·消息接受和发送简单介绍 ·xml格式解析 ·其他代码简介
  • qiantudou
  • qiantudou
  • 2016-02-20 13:14
  • 1861

微信开发之自动回复图文消息

基于 laravel框架的微信公众号的自动回复功能。主要是图文消息和文本类型
  • LJFPHP
  • LJFPHP
  • 2017-08-05 16:05
  • 1251

微信多客服开发

1、开启开发者模式之后,需要第三方服务器接收到消息后,进行转发。 2、最多可添加100个客服人员 3、多客服登录网址:https://mpkf.weixin.qq.com如果公众号处于开发模式,普...
  • Draling
  • Draling
  • 2016-08-04 16:44
  • 1305

微信公众号多客服开发介绍

非开发者模式:如果公众号没有处于开发者模式,则只需要单纯的在 微信公众号后台进行设置就可以启用多客服功能 开发者模式: 用户发送消息时的2种情况:          普通微信用户向公众号发消息时,微信...
  • u010228448
  • u010228448
  • 2016-01-27 10:42
  • 4800

微信公众号开发教程[019]-新版客服

我承接app和微信公众号开发,如果有谁需要的话,可以惠顾我,谢谢. QQ: 40678884 微信: szuzsq 主页: http://www.wxshaker.com 博客: http:/...
  • szuzsq
  • szuzsq
  • 2016-07-29 10:56
  • 2520

微信公众号中自动回复与多客服的优先序

在微信公众号平台中涉及到了对用户信息的回馈,在使用开发者模式的时候必须要解决一个问题,什么时候把消息导入多客服,什么时候仅仅使用自动回复即可。 实验表明: 当粉丝发送消息的时候,系统先会和自动回复...
  • bestcxx
  • bestcxx
  • 2016-02-24 15:24
  • 3641

基于java的在线客服系统

  • 2010-09-08 09:26
  • 143KB
  • 下载

java网页在线客服

  • 2010-09-08 09:30
  • 1.39MB
  • 下载

微信公众账号开发,将消息转发到指定客服java 代码

微信javaxml 官方将消息转发给指定客服的接口如下: 1399197672 test1@test ...
  • jroc123
  • jroc123
  • 2015-05-19 16:03
  • 1437
    个人资料
    • 访问:2181637次
    • 积分:17718
    • 等级:
    • 排名:第625名
    • 原创:219篇
    • 转载:19篇
    • 译文:1篇
    • 评论:692条
    关于

    左手代码右手艺术 追求新浪潮。


    个人网站:blog.songyang.net


    开源项目:


    UIAP : Unity3D内购插件

    UExtend : Unity3D常用功能合集


    微信公众号:松阳论道



    微博:

    我写的书:


    实例妙解Cocos2d-x游戏开发
    博客专栏
    文章分类
    最新评论