com.jfinal.weixin.sdk.api

## 类 CustomServiceApi

- java.lang.Object
- - com.jfinal.weixin.sdk.api.CustomServiceApi

-     public class CustomServiceApi
      extends Object

  多客服功能
  仅支持获取客服聊天记录接口，其他功能可以使用微信官方的多客服客户端软件来完成。 客服接口：http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static class` | `CustomServiceApi.Articles` 客户消息图文封装和 `News` 又略微区别，无法公用

  - ### 构造器概要

    构造器
    构造器和说明
    `CustomServiceApi()`

  - ### 方法概要

    所有方法 静态方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `static ApiResult` | `addKfAccount(String kf_account, String nickname, String password)` 添加客服帐号
    `static ApiResult` | `closeSession(String kf_account, String openid)` 关闭会话 此接口在客服和用户之间创建一个会话，如果该客服和用户会话已存在，则直接返回0。
    `static ApiResult` | `createSession(String kf_account, String openid)` 创建会话 此接口在客服和用户之间创建一个会话，如果该客服和用户会话已存在，则直接返回0。
    `static ApiResult` | `delKfAccount(String kf_account)` 删除客服帐号
    `static ApiResult` | `getKfList()` 获取所有客服账号
    `static ApiResult` | `getMsgList(int starttime, int endtime, int msgid, int number)` 获取聊天记录 此接口返回的聊天记录中，对于图片、语音、视频，分别展示成文本格式的[image]、[voice]、[video]。
    `static ApiResult` | `getOnlineKFList()` 获取在线客服接待信息
    `static ApiResult` | `getRecord(int pageindex, int pagesize, long starttime, long endtime)` 获取客服聊天记录
    `static ApiResult` | `getRecord(String jsonStr)` 获取客服聊天记录
    `static ApiResult` | `getSession(String openid)` 获取客户会话状态 此接口获取一个客户的会话，如果不存在，则kf_account为空
    `static ApiResult` | `getSessionList(String kf_account)` 获取客服会话列表 此接口获取一个客户的会话，如果不存在，则kf_account为空
    `static ApiResult` | `getWaitCase()` 获取未接入会话列表 此接口获取一个客户的会话，如果不存在，则kf_account为空
    `static ApiResult` | `inviteWorker(String kf_account, String invite_wx)` 邀请绑定客服帐号 新添加的客服帐号是不能直接使用的，只有客服人员用微信号绑定了客服账号后，方可登录Web客服进行操作。
    `static ApiResult` | `sendCoupon(String openId, String card_id, String card_ext)` 发送卡券
    `static ApiResult` | `sendImage(String openId, String media_id)` 发送图片消息
    `static ApiResult` | `sendMpNews(String openId, String mediaId)` 发送图文消息（点击跳转到图文消息页面），图文消息条数限制在8条以内
    `static ApiResult` | `sendMusic(String openId, String musicurl, String hqmusicurl, String thumb_media_id, String title, String description)` 发送音乐回复
    `static ApiResult` | `sendNews(String openId, List<CustomServiceApi.Articles> articles)` 发送图文回复，图文消息条数限制在8条以内
    `static ApiResult` | `sendText(String openId, String text)` 发送文本客服消息
    `static ApiResult` | `sendVideo(String openId, String media_id, String title, String description)` 发送视频回复
    `static ApiResult` | `sendVoice(String openId, String media_id)` 发送语言回复
    `static ApiResult` | `updateKfAccount(String kf_account, String nickname, String password)` 修改客服帐号
    `static ApiResult` | `uploadKfAccountHeadImg(String kf_account, File headImg)` 设置客服帐号的头像

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### CustomServiceApi

          public CustomServiceApi()

  - ### 方法详细资料

    - #### getRecord

          public static ApiResult getRecord(String jsonStr)

      获取客服聊天记录
      参数:
        `jsonStr` - json字符串
      返回:
        {ApiResult}

    - #### getRecord

          public static ApiResult getRecord(int pageindex,
                                            int pagesize,
                                            long starttime,
                                            long endtime)

      获取客服聊天记录
      参数:
        `pageindex` - 查询第几页，从1开始
        `pagesize` - 每页大小，每页最多拉取50条
        `starttime` - 查询开始时间，UNIX时间戳
        `endtime` - 查询结束时间，UNIX时间戳，每次查询不能跨日查询
      返回:
        ApiResult

    - #### addKfAccount

          public static ApiResult addKfAccount(String kf_account,
                                               String nickname,
                                               String password)

      添加客服帐号
      参数:
        `kf_account` - 完整客服账号，格式为：账号前缀@公众号微信号
        `nickname` - 客服昵称，最长6个汉字或12个英文字符
        `password` - 客服账号登录密码，格式为密码明文的32位加密MD5值。该密码仅用于在公众平台官网的多客服功能中使用，若不使用多客服功能，则不必设置密码
      返回:
        ApiResult

    - #### updateKfAccount

          public static ApiResult updateKfAccount(String kf_account,
                                                  String nickname,
                                                  String password)

      修改客服帐号
      参数:
        `kf_account` - 完整客服账号，格式为：账号前缀@公众号微信号
        `nickname` - 客服昵称，最长6个汉字或12个英文字符
        `password` - 客服账号登录密码，格式为密码明文的32位加密MD5值。该密码仅用于在公众平台官网的多客服功能中使用，若不使用多客服功能，则不必设置密码
      返回:
        ApiResult

    - #### delKfAccount

          public static ApiResult delKfAccount(String kf_account)

      删除客服帐号
      参数:
        `kf_account` - 完整客服账号，格式为：账号前缀@公众号微信号
      返回:
        ApiResult

    - #### uploadKfAccountHeadImg

          public static ApiResult uploadKfAccountHeadImg(String kf_account,
                                                         File headImg)

      设置客服帐号的头像
      参数:
        `kf_account` - 完整客服账号，格式为：账号前缀@公众号微信号
        `headImg` - 客服人员的头像，头像图片文件必须是jpg格式，推荐使用640*640大小的图片以达到最佳效果
      返回:
        ApiResult

    - #### getKfList

          public static ApiResult getKfList()

      获取所有客服账号
      返回:
        ApiResult

    - #### getOnlineKFList

          public static ApiResult getOnlineKFList()

      获取在线客服接待信息
      返回:
        ApiResult

    - #### sendText

          public static ApiResult sendText(String openId,
                                           String text)

      发送文本客服消息
      参数:
        `openId` - openId
        `text` - 文本消息
      返回:
        ApiResult

    - #### sendImage

          public static ApiResult sendImage(String openId,
                                            String media_id)

      发送图片消息
      参数:
        `openId` - openId
        `media_id` - 图片媒体id
      返回:
        ApiResult

    - #### sendVoice

          public static ApiResult sendVoice(String openId,
                                            String media_id)

      发送语言回复
      参数:
        `openId` - openId
        `media_id` - 媒体id
      返回:
        ApiResult

    - #### sendVideo

          public static ApiResult sendVideo(String openId,
                                            String media_id,
                                            String title,
                                            String description)

      发送视频回复
      参数:
        `openId` - openId
        `media_id` - 媒体id
        `title` - 视频标题
        `description` - 视频描述
      返回:
        {ApiResult}

    - #### sendMusic

          public static ApiResult sendMusic(String openId,
                                            String musicurl,
                                            String hqmusicurl,
                                            String thumb_media_id,
                                            String title,
                                            String description)

      发送音乐回复
      参数:
        `openId` - openId
        `musicurl` - 音乐地址
        `hqmusicurl` - 音乐高清地址
        `thumb_media_id` - 音乐媒体id
        `title` - 音乐标题
        `description` - 音乐描述
      返回:
        {ApiResult}

    - #### sendNews

          public static ApiResult sendNews(String openId,
                                           List<CustomServiceApi.Articles> articles)

      发送图文回复，图文消息条数限制在8条以内
      参数:
        `openId` - openId
        `articles` - 图文信息封装
      返回:
        {ApiResult}

    - #### sendMpNews

          public static ApiResult sendMpNews(String openId,
                                             String mediaId)

      发送图文消息（点击跳转到图文消息页面），图文消息条数限制在8条以内
      参数:
        `openId` - 普通用户openid
        `mediaId` - 素材id
      返回:
        ApiResult

    - #### sendCoupon

          public static ApiResult sendCoupon(String openId,
                                             String card_id,
                                             String card_ext)

      发送卡券
      参数:
        `openId` - 普通用户openid
        `card_id` - 卡券id
        `card_ext` - 详情及签名规则: http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E9.99.84.E5.BD.954-.E5.8D.A1.E5.88.B8.E6.89.A9.E5.B1.95.E5.AD.97.E6.AE.B5.E5.8F.8A.E7.AD.BE.E5.90.8D.E7.94.9F.E6.88.90.E7.AE.97.E6.B3.95
      返回:
        ApiResult

    - #### inviteWorker

          public static ApiResult inviteWorker(String kf_account,
                                               String invite_wx)

      邀请绑定客服帐号 新添加的客服帐号是不能直接使用的，只有客服人员用微信号绑定了客服账号后，方可登录Web客服进行操作。 此接口发起一个绑定邀请到客服人员微信号，客服人员需要在微信客户端上用该微信号确认后帐号才可用。 尚未绑定微信号的帐号可以进行绑定邀请操作，邀请未失效时不能对该帐号进行再次绑定微信号邀请。
      参数:
        `kf_account` - 完整客服帐号，格式为：帐号前缀@公众号微信号
        `invite_wx` - 接收绑定邀请的客服微信号
      返回:
        ApiResult

    - #### createSession

          public static ApiResult createSession(String kf_account,
                                                String openid)

      创建会话 此接口在客服和用户之间创建一个会话，如果该客服和用户会话已存在，则直接返回0。指定的客服帐号必须已经绑定微信号且在线。
      参数:
        `kf_account` - 完整客服帐号，格式为：帐号前缀@公众号微信号
        `openid` - 粉丝的openid
      返回:
        ApiResult

    - #### closeSession

          public static ApiResult closeSession(String kf_account,
                                               String openid)

      关闭会话 此接口在客服和用户之间创建一个会话，如果该客服和用户会话已存在，则直接返回0。指定的客服帐号必须已经绑定微信号且在线。
      参数:
        `kf_account` - 完整客服帐号，格式为：帐号前缀@公众号微信号
        `openid` - 粉丝的openid
      返回:
        ApiResult

    - #### getSession

          public static ApiResult getSession(String openid)

      获取客户会话状态 此接口获取一个客户的会话，如果不存在，则kf_account为空
      参数:
        `openid` - 粉丝的openid
      返回:
        ApiResult 不存在会话: {"createtime":0,"kf_account":""} 存在一个会话: { "createtime" : 123456789, //会话接入的时间 "kf_account" : "test1@test" //正在接待的客服，为空表示没有人在接待 }

    - #### getSessionList

          public static ApiResult getSessionList(String kf_account)

      获取客服会话列表 此接口获取一个客户的会话，如果不存在，则kf_account为空
      参数:
        `kf_account` - 完整客服帐号，格式为：帐号前缀@公众号微信号
      返回:
        ApiResult 不存在会话: {"sessionlist":[]} 存在一个会话: { "sessionlist" : [ { "createtime" : 123456789, //会话接入的时间 "openid" : "OPENID" //粉丝openid }, { "createtime" : 123456789, "openid" : "OPENID" } ] }

    - #### getWaitCase

          public static ApiResult getWaitCase()

      获取未接入会话列表 此接口获取一个客户的会话，如果不存在，则kf_account为空
      返回:
        ApiResult 不存在会话: {"count":0,"waitcaselist":[]} 存在一个会话: { "count" : 1, //未接入会话数量 "waitcaselist" : [ //未接入会话列表，最多返回100条数据，按照来访顺序 { "latest_time" : 1488784362, //粉丝的最后一条消息的时间 "openid" : "oC8JsuC61cKB_XMuh_Eb3Yk2yWsQ" //粉丝的openid } ] }

    - #### getMsgList

          public static ApiResult getMsgList(int starttime,
                                             int endtime,
                                             int msgid,
                                             int number)

      获取聊天记录 此接口返回的聊天记录中，对于图片、语音、视频，分别展示成文本格式的[image]、[voice]、[video]。 对于较可能包含重要信息的图片消息，后续将提供图片拉取URL，近期将上线。
      参数:
        `starttime` - 起始时间，unix时间戳
        `endtime` - 结束时间，unix时间戳，每次查询时段不能超过24小时
        `msgid` - 消息id顺序从小到大，从1开始
        `number` - 每次获取条数，最多10000条
      返回:
        ApiResult { "msgid" : 21957537, //下次请求的msgid "number" : 24, //请求到的信息的总条数 "recordlist" : [ //消息列表 { "openid" : "oC8JsuPnZTqSLImnbHfJBQYRgniI", //粉丝openid "opercode" : 2002, //操作码, (2002: 客服发送信息, 2003: 客服接收消息) "text" : "https://mp.weixin.qq.com", //聊天记录 "time" : 1488783439, //操作时间，unix时间戳 "worker" : "kf2001@ideal2002" //完整客服帐号，格式为：帐号前缀@公众号微信号 } ] }

Copyright © 2017. All rights reserved.