微信小程序实现客服默认自动回复功能

程序可通过以下两种方式下发客服消息:1、调用发送客服消息接口;2、使用公众平台网页版客服工具;这里主要讲第1种的做法。

1、小程序管理员的后台配置

登录小程序,在“设置-开发设置-消息推送”启用消息推送功能并完成相关信息配置。
URL(服务器地址):用url访问文件名地址

Token: 自己随便起个名字就行英文数字3-32字符到时后台验证一样就行了;

EncodingAESKey:直接用自动生成即可

配置完成后,微信服务器会访问服务器地址检验是否能访问到。如果访问失败获取返回数据不正确,将提示token校验失败(也就是说上面配置的URL是外网可以访问的微信服务器要先去我们自己配的URL中的方法去检验token是否相同)。

2、小程序前端

小程序前端加一个客服按钮就可以了

<contact-button  size="30" session-from="weapp"
class="guest-button"></contact-button>

3、Token验证和客服消息的接收

后台我主要是由java编写完成。
/*** 微信小程序消息验证和配置* @data:2018/2/06* @return* @throws Exception */public String getProcessRequest() throws Exception{boolean isGet=request.getMethod().toLowerCase().equals("get");System.out.println("方法是-------"+isGet);if(isGet){//首次验证tokenisProcessRequest();}else{// 进入POST聊天处理  System.out.println("进入了聊天界面");if(checkSignature()){// 接收消息并返回消息  acceptMessage();  }  }/*for (String string : list) {conbineStr+=string;}*/return null;}/*** 验证消息推送Token*/public void isProcessRequest(){String signature=request.getParameter("signature");String timestamp=request.getParameter("timestamp");String nonce=request.getParameter("nonce");String echostr=request.getParameter("echostr");String token="ulin5";//要和我们小程序管理员配置的一样才行List<String> params = new ArrayList<String>();  params.add(token);  params.add(timestamp);  params.add(nonce);  // 1. 将token、timestamp、nonce三个参数进行字典序排序  Collections.sort(params, new Comparator<String>() {  @Override  public int compare(String o1, String o2) {  return o1.compareTo(o2);  }  });  // 2. 将三个参数字符串拼接成一个字符串进行sha1加密  String temp = SHA1.encode(params.get(0) + params.get(1) + params.get(2));  if (temp.equals(signature)) {  try {  //通过算法计算后相等响应echostr给微信服务器response.getWriter().write(echostr);  System.out.println("成功返回 echostr:" + echostr);  } catch (IOException e) {  e.printStackTrace();  }  }  System.out.println("失败 认证");}/*** 聊天处理方法* @param request* @param response* @throws Exception */public void acceptMessage() throws Exception{com.alibaba.fastjson.JSONObject json = null;String openid=request.getParameter("FromUserName");//这是通过通过get方式去url 拼接的键值对,post方式取不到值。request.setCharacterEncoding("UTF-8");         //返回页面防止出现中文乱码BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));//post方式传递读取字符流String jsonStr = null;StringBuilder result = new StringBuilder();try {while ((jsonStr = reader.readLine()) != null) {result.append(jsonStr);}} catch (IOException e) {e.printStackTrace();}reader.close();// 关闭输入流json = com.alibaba.fastjson.JSONObject.parseObject(result.toString()); // 取一个json转换为对象String jsonStrs="{\"touser\":\"oNrqO4jET7YbGXdFcGWO-m-94heE\",\"msgtype\":\"text\",\"text\":{ \"content\":\"Hello World\"}}";// jsonStrs=new String(jsonStrs.getBytes(),"UTF-8");String token=AccessTokenUtil.getWxAccessToken();String url="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+token;JSONObject jsonInfo = null;url=url.replaceAll("\"", "\\\"");  //jsonInfo = CommonUtil.httpsRequest(url, "POST", jsonStrs);PrintWriter out=null;BufferedReader in=null;String result1="";try {URL url1 = new URL("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token="+token);HttpURLConnection connection = (HttpURLConnection) url1.openConnection();connection.setDoOutput(true);connection.connect();OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");writer.write(jsonStrs);writer.flush();InputStreamReader reader1 = new InputStreamReader(connection.getInputStream(),"UTF-8");BufferedReader breader = new BufferedReader(reader1);StringBuffer strb = new StringBuffer();String str = null;while (null != (str = breader.readLine())) {strb.append(str);}System.out.println(strb.toString());writer.close();reader.close();breader.close();connection.disconnect();} catch (Exception e) {System.out.println("发送post请求异常");e.printStackTrace();}finally{if(out!=null)out.close();if(in!=null)in.close();}}

然后就完成啦^_^

微信小程序实现客服默认自动回复功能相关推荐

  1. 微信小程序实现客服消息自动回复(回复图片消息)

    前提 小程序已经开通了"云开发"功能 在微信开发者工具中打开"云开发",点"设置",点击"其它设置",点击"添 ...

  2. 微信小程序在线客服系统都有哪些功能?

    微信小程序的用户已经破6亿,不少企业都看准了小程序这块大蛋糕.但是想要把握住小程序红利,除了做好运营推广外,用户服务也是重中之重.微信小程序自带的客服系统却很难满足用户服务的需求,于是很多小程序使用者 ...

  3. 关于微信小程序第三方客服接入调查

    微信小程序----第三方客服接入调查 简介:第三方客服相比微信小程序原生客服,通常来说,会有更强的只能辅助系统,更好的服务营销能力,适用于对服务质量.用户留存转化率以及访客价值挖掘有更高期待的企业. ...

  4. 微信小程序绑定客服,接收不到消息?

    微信小程序绑定客服,无法接收用户消息 客服文档 添加客服 <button class="serviceBtn" open-type="contact"&g ...

  5. 许嵩音乐智能问答系统微信小程序之客服聊天室

    许嵩音乐智能问答系统微信小程序之客服聊天室 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 你还在为因为性格腼 ...

  6. 微信小程序接入客服功能

    微信小程序接入客服功能 1.提供客服入口 // 通过组件方式 <contact-button type="default-light" size="20" ...

  7. 微信小程序多客服系统相关实现方式

    ​为什么自己的小程序,不管咨询什么商品,都是同一个客服的会话框?而蘑菇街,拼多多等小程序,每个店铺却都有自己专门的客服呢? 下面教你一个 5 分钟就能实现的方法! 使用[客服聊天助手]小程序插件,直接 ...

  8. 微信小程序联系客服对接网易七鱼

    第一步:注册网易七鱼账号(自己可以随便注册个玩玩,新账号有7天的免费试用期). 第二步:绑定微信小程序 点击绑定微信小程序,选择一键授权绑定(小程序管理员扫一扫二维码),就是这么简单,别怀疑,就是这样 ...

  9. 微信小程序调用客服接口

    实现思路 由于小程序接口开发比较完善,所以我们直接调用微信小程序客服接口就可以.但必须阅读下面的接口文档 (1)客服功能使用指南 https://developers.weixin.qq.com/mi ...

  10. 微信小程序在线客服接入功能详解

    步骤一::小程序接入微信「客服消息」功能模块,开发者只需要调用按钮,触发微信的客服消息功能即可. 加入客服消息按钮有两个方法,大家可以根据自己的实际需求,任选一种方法. 1.插入固定的接入样式 < ...

最新文章

  1. CSS大会 | 打破常“规”:挖掘语法解析器规则漏洞
  2. 二叉树遍历(附Java实现代码)
  3. Geolocation :基于浏览器的定位服务
  4. w3ctech 2011 北京站(组图)
  5. 两种类型的Spark RDD task解析以及iterator解析 -- (视频笔记)
  6. 宋体、文件-Ubuntu Linux中配置adb-by小雨
  7. python- 决策树分类器
  8. Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解
  9. 敏捷软件开发VS传统软件开发
  10. android二维码工程之仿QQ二维码实现
  11. bzoj 1924 所驼门王的宝藏
  12. AI 最新突破集锦 AI的瓶颈和进展 AI控制核聚变 AI预测蛋白质3D结构 Alpha Fold2 AI证明数学公式 自动驾驶 AI替代的硬件
  13. php 随机输出字符串,如何使用PHP生成随机字符串
  14. 高分二号影像数据预处理及裁剪过程
  15. HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
  16. Ignoring invalid timezone passed to Connection
  17. 解决:Unknown column ‘字段名‘ in ‘field list‘报错
  18. exit abort return 区别
  19. BZOJ 1911 (APIO 2010) 特别行动队
  20. Linux下开源打包工具fpm的安装与使用(超详细)

热门文章

  1. java 出路 xls_java读取excel之xlsl超大文件
  2. Android 深度学习gan网络,使照片变为动漫化风格,毕业设计源码,android studio编译
  3. 【杂】Excel中匹配筛选操作VLOOKUP 函数使用问题排查
  4. 私有云部署和本地化部署有什么区别?
  5. matlab 音乐 豆腐汤,40岁健康家常菜pdf
  6. 模糊控制matlab论文,基于MATLAB的锅炉水位模糊控制系统研究( 开题报告+文献综述+论文+外文翻译 )...
  7. python grpc基于流式传输实现长连接
  8. 如何解决高分辨率下文本、图像和字体和布局?
  9. VPX视频叠加板卡学习资料第199篇:基于Xilinx FPGA XC5VFX100T的6U VPX视频叠加板卡
  10. 谈谈OSI模型和它的数据传输