如何通过微信交互,给顾客发送客服消息

    首先我要说明一下,大家在微信开发中,一定会遇到怎么给顾客发送客服消息的问题,客服消息,简单来讲就是人工服务,区别于自动回复。

    大家看过微信开发API的话,就明白了,我们的Controller接收前端页面传过来的JSON字符串,然后我们再把这个字符串发送给微信服务器。

    这之中,解析JSON字符串有两种方案。

    第一种,我们可以根据对应的JSON字符串,构建对应的JAVA类,然后用阿里巴巴的JSONObject工具类JSONObject.parseObject(text, clazz)方法,将JSON字符串解析成JAVA类,然后再JSONObject.toJSON(javaObject),这样就能得到JSON对象,然后将JSON字符串发送给微信服务器。这样太麻烦了,其实我第一次就是这么做的。

    第二种我们可以直接从请求流中读取JSON字符串。直接上代码。

public Result sendTextMsg(HttpServletRequest request) throws AppException, IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
            StringBuffer sb = new StringBuffer("");
            while (br.ready()) {
              sb.append(br.readLine());
            }
            br.close();
            String params = sb.toString();
            logger.debug("返回的文本JSON:{}",params);
            String resJson = HttpsServletClient.send(ServerURL.getServiceAccountSendMessageURL(accessServer.getAccessToken()), params,"POST");
            JSONObject jsonObj = JSONObject.parseObject(resJson);
            logger.debug("返回的JSON:{}",resJson);
            Result result = null;
            if("0".equals(jsonObj.get("errcode").toString())) {
                result = new Result("消息发送成功!");
            } else {
                result = new Result(jsonObj.get("errmsg").toString());
                result.setErrorCode(Integer.parseInt(jsonObj.get("errcode").toString()));
            }
            return result;
        }

展开阅读全文

没有更多推荐了,返回首页