欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信公众平台获取客服聊天记录(服务号)

程序员文章站 2023-12-22 15:54:10
...

环境: java语言 , 服务号,

功能:服务号有一个客服功能,我目前需要获取所有客服的聊天记录。

环境介绍:

  1.首先需要在微信公众平台开发者配置中配置一些参数

   其中开发者id 和开发者密码用来获取AccessToken   , 要配置IP白名单,不然调用客户聊天记录失败。

微信公众平台获取客服聊天记录(服务号)

 

  2.登录服务号,找到这个客服功能。目前我这个服务号有俩个客服,我现在需要获取这俩个客服的聊天记录。

微信公众平台获取客服聊天记录(服务号)

2.找到客服功能的开发文档。 

地址:https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Obtain_chat_transcript.html

post  请求,传参方式如下,注意:每次查询的时间段不能超过24小时。

微信公众平台获取客服聊天记录(服务号)

3.代码实战:

 

 @GetMapping(value = "/sendCondition")
    public void sendCondition() throws ParseException {

        //1.获取AccessToken
        String accessToken = WeiXinParamesUtil.getAccessToken("customerService");
        String url = "https://api.weixin.qq.com/customservice/msgrecord/getmsglist?access_token=ACCESS_TOKEN";
        url = url.replace("ACCESS_TOKEN", accessToken);

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = simpleDateFormat.parse("2020-02-11 8:45:25");
        long startTime = date.getTime()/1000;
        Date date1 = simpleDateFormat.parse("2020-02-11 21:45:26");
        long endTime = date1.getTime()/1000;

        String jsonStr = "  {\n" +
                "      \"starttime\" : "+String.valueOf(startTime)+",\n" +
                "      \"endtime\" : "+String.valueOf(endTime)+",\n" +
                "      \"msgid\" : 1,\n" +
                "      \"number\" : 10000 \n" +
                "}";

        JSONObject jsonObject = SendRequest.sendPost(url, jsonStr);
        System.out.println("1111-----" + jsonObject);
    }
    public static String getWeiAccessToken ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";

/**
     * 获取微信公众平台的access_token
     * @param type
     * @return
     */
    public static String getAccessToken(String type) {
        String url = "";
        if ("users".equals(type)) {
            url = getWeiAccessToken.replace("APPID", WeiXinParamesUtil.APPID).replace("APPSECRET", WeiXinParamesUtil.SECRET);
        }else if("customerService".equals(type)){
            url = getWeiAccessToken.replace("APPID", WeiXinParamesUtil.APPID).replace("APPSECRET", WeiXinParamesUtil.SECRET);
        }
        JSONObject departmentJson = SendRequest.sendGet2(url);
        return departmentJson.getString("access_token");
    }

4.测试结果如下: 

微信公众平台获取客服聊天记录(服务号)

在网页上显示为:

微信公众平台获取客服聊天记录(服务号)

5.返回结果参数说明:

微信公众平台获取客服聊天记录(服务号)

上一篇:

下一篇: