微信小程序实现客服默认自动回复功能
微信小程序实现客服默认自动回复功能
程序可通过以下两种方式下发客服消息: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();}}
然后就完成啦^_^
微信小程序实现客服默认自动回复功能相关推荐
- 微信小程序实现客服消息自动回复(回复图片消息)
前提 小程序已经开通了"云开发"功能 在微信开发者工具中打开"云开发",点"设置",点击"其它设置",点击"添 ...
- 微信小程序在线客服系统都有哪些功能?
微信小程序的用户已经破6亿,不少企业都看准了小程序这块大蛋糕.但是想要把握住小程序红利,除了做好运营推广外,用户服务也是重中之重.微信小程序自带的客服系统却很难满足用户服务的需求,于是很多小程序使用者 ...
- 关于微信小程序第三方客服接入调查
微信小程序----第三方客服接入调查 简介:第三方客服相比微信小程序原生客服,通常来说,会有更强的只能辅助系统,更好的服务营销能力,适用于对服务质量.用户留存转化率以及访客价值挖掘有更高期待的企业. ...
- 微信小程序绑定客服,接收不到消息?
微信小程序绑定客服,无法接收用户消息 客服文档 添加客服 <button class="serviceBtn" open-type="contact"&g ...
- 许嵩音乐智能问答系统微信小程序之客服聊天室
许嵩音乐智能问答系统微信小程序之客服聊天室 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 你还在为因为性格腼 ...
- 微信小程序接入客服功能
微信小程序接入客服功能 1.提供客服入口 // 通过组件方式 <contact-button type="default-light" size="20" ...
- 微信小程序多客服系统相关实现方式
为什么自己的小程序,不管咨询什么商品,都是同一个客服的会话框?而蘑菇街,拼多多等小程序,每个店铺却都有自己专门的客服呢? 下面教你一个 5 分钟就能实现的方法! 使用[客服聊天助手]小程序插件,直接 ...
- 微信小程序联系客服对接网易七鱼
第一步:注册网易七鱼账号(自己可以随便注册个玩玩,新账号有7天的免费试用期). 第二步:绑定微信小程序 点击绑定微信小程序,选择一键授权绑定(小程序管理员扫一扫二维码),就是这么简单,别怀疑,就是这样 ...
- 微信小程序调用客服接口
实现思路 由于小程序接口开发比较完善,所以我们直接调用微信小程序客服接口就可以.但必须阅读下面的接口文档 (1)客服功能使用指南 https://developers.weixin.qq.com/mi ...
- 微信小程序在线客服接入功能详解
步骤一::小程序接入微信「客服消息」功能模块,开发者只需要调用按钮,触发微信的客服消息功能即可. 加入客服消息按钮有两个方法,大家可以根据自己的实际需求,任选一种方法. 1.插入固定的接入样式 < ...
最新文章
- CSS大会 | 打破常“规”:挖掘语法解析器规则漏洞
- 二叉树遍历(附Java实现代码)
- Geolocation :基于浏览器的定位服务
- w3ctech 2011 北京站(组图)
- 两种类型的Spark RDD task解析以及iterator解析 -- (视频笔记)
- 宋体、文件-Ubuntu Linux中配置adb-by小雨
- python- 决策树分类器
- Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解
- 敏捷软件开发VS传统软件开发
- android二维码工程之仿QQ二维码实现
- bzoj 1924 所驼门王的宝藏
- AI 最新突破集锦 AI的瓶颈和进展 AI控制核聚变 AI预测蛋白质3D结构 Alpha Fold2 AI证明数学公式 自动驾驶 AI替代的硬件
- php 随机输出字符串,如何使用PHP生成随机字符串
- 高分二号影像数据预处理及裁剪过程
- HTML段落前面怎么加黑点,Word文档段落前面的那个小黑点,是怎么搞出来得呀?...
- Ignoring invalid timezone passed to Connection
- 解决:Unknown column ‘字段名‘ in ‘field list‘报错
- exit abort return 区别
- BZOJ 1911 (APIO 2010) 特别行动队
- Linux下开源打包工具fpm的安装与使用(超详细)
热门文章
- java 出路 xls_java读取excel之xlsl超大文件
- Android 深度学习gan网络,使照片变为动漫化风格,毕业设计源码,android studio编译
- 【杂】Excel中匹配筛选操作VLOOKUP 函数使用问题排查
- 私有云部署和本地化部署有什么区别?
- matlab 音乐 豆腐汤,40岁健康家常菜pdf
- 模糊控制matlab论文,基于MATLAB的锅炉水位模糊控制系统研究( 开题报告+文献综述+论文+外文翻译 )...
- python grpc基于流式传输实现长连接
- 如何解决高分辨率下文本、图像和字体和布局?
- VPX视频叠加板卡学习资料第199篇:基于Xilinx FPGA XC5VFX100T的6U VPX视频叠加板卡
- 谈谈OSI模型和它的数据传输