多平台统一管理软件接口,如何实现多平台统一管理软件接口
376
2023-05-22
Java微信公众平台开发(9) 关键字回复以及客服接口实现
(一)关键字自动回复
在前面的文章中我们已经完成对消息回复的分类以及实现,这里说的关键字回复只是对消息回复功能的应用化,这里我在【文本类型消息】下实现,其大致思路是:首先获取到消息文本的内容content,然后更具获取content去匹配自己需要设定的关键字,然后根据匹配到的不同结果给出不同的消息回复,简单代码如下:
String openid=map.get("FromUserName"); //用户openid
//普通文本消息
TextMessage txtmsg=new TextMessage();
txtmsg.setToUserName(openid);
txtmsg.setFromUserName(mpid);
txtmsg.setCreateTime(new Date().getTime());
txtmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) { // 文本消息
String content=map.get("Content");
if("1".equals(content)){
http:// txtmsg.setContent("你好,你发送的内容是1!");
}else if("2".equals(content)){
txtmsg.setContent("你好,你发送的内容是2!");
}else if("3".equals(content)){
txtmsg.setContent("你好,你发送的内容是3!");
}else if("4".equals(content)){
txtmsg.setContent("崔用志博客");
}else{
txtmsg.setContentOgKemVGkgS("你好,欢迎来到崔用志博客!");
}
return MessageUtil.textMessageToXml(txtmsg);
}
基本关键字回复的逻辑就是这样,你可以根据自己的需要设置自己的关键字以及实现流程,最终运行结果如下:
①直接给微信服务器回复【空】,注意这里是直接回复空而不是回复内容为空!
所以我们的代码实现为:
//这个是错误代码回复
if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) { // 链接消息
txtmsg.setContent("");
return MessageUtil.textMessageToXml(txtmsg);
}
//这个是正确代码回复
if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) { // 位置消息
System.out.println("==============这是位置消息!");
return "";
}
②将消息转接到多客服助手,让客服去做消息的处理!
新建客服消息实体类CustomerMessage.java,简单代码如下:
package com.cuiyongzhi.wechat.message.resp;
/**
* ClassName: CustomerMessage
* @Description: 客服消息接口
* @author dapengniao
* @date 2016年3月14日 下午6:28:08
*/
public class CustomerMessage {
// 接收方帐号(收到的OpenID)
private String ToUserName;
// 开发者微信号
private String FromUserName;
// 消息创建时间 (整型)
private long CreateTime;
// 消息类型(text/music/news)
private String MsgType;
public String getToUserName() {
return ToUserName;
}
public void setToUserName(String toUserName) {
ToUserName = toUserName;
}
public String getFromUserName() {
return FromUserName;
}
public void setFromUserName(String fromUserName) {
FromUserName = fromUserName;
}
public long getCreateTime() {
return CreateTime;
}
public void setCreateTime(long createTime) {
CreateTime = createTime;
}
public String getMsgType() {
return MsgType;
}
public void setMsgType(String msgType) {
MsgType = msgType;
}
}
然后在我们需要回复的地方加入消息转发代码即可,简单如下:
String openid=map.get("FromUserName"); //用户openid
CustomerMessage customer=new CustomerMessage();
customer.setToUserName(fromUserName);
customer.setFromUserName(toUserName);
customer.setCreateTime(new Date().getTime());
customer.setMsgType("transfer_customer_service");
// 文本消息
if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
return MessageUtil.customerMessageToXml(customer);
}
这样就把用户发送的消息转发到多客服助手,这样我们的客服人员就可以对应的答复,方便我们消息的处理!多客服的相关使用和下载可以查看 http://mp.weixin.qq.com/wiki/11/f0e34a15cec66fefb28cf1c0388f68ab.html 。
感谢你的翻阅,如有疑问可以留言讨论,下一篇将讲述【自定义菜单的基本实现】的两种实现方案!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~