全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java微信公众平台开发(9) 关键字回复以及客服接口实现

我们在微信公众号的后台可以发现微信给我们制定了两种模式,一种是开发者模式(也就是我们一直在做的开发),还有一种模式是编辑模式,然而有些功能一旦我们切换到开发者模式下就无法使用了,比较典型的就是关键字回复以及服务器无响应的时候返回的【服务器无法响应】等问题 ,这里我给出的解决方案是:①对关键字给出关键字回复的代码实现;②【服务器5s无响应】解决方案是接入多客服,以方便我们的消息处理!

(一)关键字自动回复

在前面的文章中我们已经完成对消息回复的分类以及实现,这里说的关键字回复只是对消息回复功能的应用化,这里我在【文本类型消息】下实现,其大致思路是:首先获取到消息文本的内容content,然后更具获取content去匹配自己需要设定的关键字,然后根据匹配到的不同结果给出不同的消息回复,简单代码如下:

String openid=map.get("FromUserName"); //用户openid
String mpid=map.get("ToUserName"); //公众号原始ID
 
//普通文本消息
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)){
  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("<a href=\"http://www.cuiyongzhi.com\">崔用志博客</a>");
 }else{
  txtmsg.setContent("你好,欢迎来到崔用志博客!");
 }
 return MessageUtil.textMessageToXml(txtmsg);
}

基本关键字回复的逻辑就是这样,你可以根据自己的需要设置自己的关键字以及实现流程,最终运行结果如下:

(二)该公众号暂时无法提供服务解决方案——多客服接口使用

在我们使用或者开发过程中可能会遇到【该公众号暂时无法提供服务】的回复,出现这个回复的原因是我们的应用服务在5s内没有给到腾讯服务器任何响应,腾讯服务器给用户的自动响应提示,如何解决以及避免这种情况的出现,我们可以有如下解决方案:

①直接给微信服务器回复【空】,注意这里是直接回复空而不是回复内容为空!

所以我们的代码实现为:

//这个是错误代码回复
 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
String mpid=map.get("ToUserName"); //公众号原始ID
   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 。

感谢你的翻阅,如有疑问可以留言讨论,下一篇将讲述【自定义菜单的基本实现】的两种实现方案!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java微信关键字回复  # java微信客服接口  # java微信公众号暂时无法提供服务  # 客服  # 自己的  # 你好  # 两种  # 腾讯  # 这是  # 我在  # 你可以  # 如有  # 给我们  # 我们可以  # 帐号  # 博客  # 就把  # 去做  # 这种情况  # 自定义  # 下一篇  # 在前面  # 欢迎来到 


相关文章: Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何自定义建站之星网站的导航菜单样式?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何快速搭建响应式可视化网站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  Android自定义控件实现温度旋转按钮效果  如何通过网站建站时间优化SEO与用户体验?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何在阿里云服务器自主搭建网站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何用VPS主机快速搭建个人网站?  如何快速搭建高效WAP手机网站吸引移动用户?  微信h5制作网站有哪些,免费微信H5页面制作工具?  潮流网站制作头像软件下载,适合母子的网名有哪些?  建站168自助建站系统:快速模板定制与SEO优化指南  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  在线制作视频的网站有哪些,电脑如何制作视频短片?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何将凡科建站内容保存为本地文件?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  官网网站制作腾讯审核要多久,联想路由器newifi官网  名字制作网站免费,所有小说网站的名字?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站主机如何选?高性价比方案全解析  如何通过wdcp面板快速创建网站?  MySQL查询结果复制到新表的方法(更新、插入)  建站之星展会模版如何一键下载生成?  建站主机SSH密钥生成步骤及常见问题解答?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  非常酷的网站设计制作软件,酷培ai教育官方网站?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  建站之星CMS建站配置指南:模板选择与SEO优化技巧    如何通过二级域名建站提升品牌影响力?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  为什么Go需要go mod文件_Go go mod文件作用说明  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  网站制作费用多少钱,一个网站的运营,需要哪些费用?  如何在云主机上快速搭建网站?  如何高效搭建专业期货交易平台网站?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何有效防御Web建站篡改攻击? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。