微信小店
微信门店
微信智能接口
微信设备功能

多客服会话控制

出自微信公众平台开发者文档
跳转到: 导航, 搜索

目录

会话状态通知事件

公众号开通多客服功能以后,当客服人员有接入会话、关闭会话、转接会话时,微信后台会将会话对应的事件推送到公众号填写的url上。

微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。

关于重试的消息排重,推荐使用FromUserName + CreateTime 排重。

假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。

各会话事件推送XML数据包示例:

接入会话:

 <xml>
     <ToUserName><![CDATA[touser]]></ToUserName>
     <FromUserName><![CDATA[fromuser]]></FromUserName>
     <CreateTime>1399197672</CreateTime>
     <MsgType><![CDATA[event]]></MsgType>
     <Event><![CDATA[kf_create_session]]></Event>
     <KfAccount><![CDATA[test1@test]]></KfAccount>
 </xml>

关闭会话:

 <xml>
     <ToUserName><![CDATA[touser]]></ToUserName>
     <FromUserName><![CDATA[fromuser]]></FromUserName>
     <CreateTime>1399197672</CreateTime>
     <MsgType><![CDATA[event]]></MsgType>
     <Event><![CDATA[kf_close_session]]></Event>
     <KfAccount><![CDATA[test1@test]]></KfAccount>
 </xml>

转接会话:

 <xml>
     <ToUserName><![CDATA[touser]]></ToUserName>
     <FromUserName><![CDATA[fromuser]]></FromUserName>
     <CreateTime>1399197672</CreateTime>
     <MsgType><![CDATA[event]]></MsgType>
     <Event><![CDATA[kf_switch_session]]></Event>
     <FromKfAccount><![CDATA[test1@test]]></FromKfAccount>
     <ToKfAccount><![CDATA[test2@test]]></ToKfAccount>
 </xml>

创建会话

开发者可以使用本接口,为多客服的客服工号创建会话,将某个客户直接指定给客服工号接待,需要注意此接口不会受客服自动接入数以及自动接入开关限制。只能为在线的客服(PC客户端在线,或者已绑定多客服助手)创建会话。

接口调用请求说明

 http请求方式: POST
 https://api.weixin.qq.com/customservice/kfsession/create?access_token=ACCESS_TOKEN

POST数据说明

 POST数据示例如下:
 {
    "kf_account" : "test1@test",
    "openid" : "OPENID",
    "text" : "这是一段附加信息"
 }
参数 是否必须 描述
openid 客户openid
kf_account 完整客服账号,格式为:账号前缀@公众号微信号
text 附加信息,文本会展示在客服人员的多客服客户端

返回说明

 返回数据示例(正确时的JSON返回结果):
 {
    "errcode" : 0,
    "errmsg" : "ok"
 }
返回码 说明
0 成功(no error)/会话已存在(session exsited)
61458 客户正在被其他客服接待(customer accepted by xxx@xxxx)
61459 客服不在线(kf offline)

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

关闭会话

开发者可以使用本接口,关闭一个会话。

接口调用请求说明

 http请求方式: POST
 https://api.weixin.qq.com/customservice/kfsession/close?access_token=ACCESS_TOKEN

POST数据说明

 POST数据示例如下:
 {
    "kf_account" : "test1@test",
    "openid" : "OPENID",
    "text" : "这是一段附加信息"
 }
参数 是否必须 描述
openid 客户openid
kf_account 完整客服账号,格式为:账号前缀@公众号微信号
text 附加信息,文本会展示在客服人员的多客服客户端

返回说明

 返回数据示例(正确时的JSON返回结果):
 {
    "errcode" : 0,
    "errmsg" : "ok"
 }
返回码 说明
0 成功(no error)/会话已存在(session exsited)
61458 客户正在被其他客服接待(customer accepted by xxx@xxxx)

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

获取客户的会话状态

开发者可以通过本接口获取客户当前的会话状态。

接口调用请求说明

 http请求方式: GET
 https://api.weixin.qq.com/customservice/kfsession/getsession?access_token=ACCESS_TOKEN&openid=OPENID
参数 是否必须 描述
openid 客户openid

返回说明

 返回数据示例(正确时的JSON返回结果):
 {
    "createtime" : 123456789,
    "errcode" : 0,
    "errmsg" : "ok",
    "kf_account" : "test1@test"
 }
参数 描述
kf_account 正在接待的客服,为空表示没有人在接待
createtime 会话接入的时间

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

获取客服的会话列表

开发者可以通过本接口获取某个客服正在接待的会话列表。

接口调用请求说明

 http请求方式: GET
 https://api.weixin.qq.com/customservice/kfsession/getsessionlist?access_token=ACCESS_TOKEN&kf_account=KFACCOUNT
参数 是否必须 描述
kf_account 完整客服账号,格式为:账号前缀@公众号微信号,账号前缀最多10个字符,必须是英文或者数字字符。

返回说明

 返回数据示例(正确时的JSON返回结果):
 {
    "sessionlist" : [
       {
          "createtime" : 123456789,
          "openid" : "OPENID"
       },
       {
          "createtime" : 123456789,
          "openid" : "OPENID"
       }
    ]
 }
参数 描述
sessionlist 会话列表
sessionlist.openid 客户openid
sessionlist.createtime 会话创建时间,UNIX时间戳

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明

获取未接入会话列表

开发者可以通过本接口获取当前正在等待队列中的会话列表,此接口最多返回最早进入队列的100个未接入会话。

接口调用请求说明

 http请求方式: GET
 https://api.weixin.qq.com/customservice/kfsession/getwaitcase?access_token=ACCESS_TOKEN

返回说明

 返回数据示例(正确时的JSON返回结果):
 {
    "count" : 150,
    "waitcaselist" : [
       {
          "createtime" : 123456789,
          "kf_account" : "test1@test",
          "openid" : "OPENID"
       },
       {
          "createtime" : 123456789,
          "kf_account" : "",
          "openid" : "OPENID"
       }
    ]
 }
参数 描述
count 未接入会话数量
waitcaselist 未接入会话列表,最多返回100条数据
waitcaselist.openid 客户openid
waitcaselist.kf_account 指定接待的客服,为空表示未指定客服
waitcaselist.createtime 用户来访时间,UNIX时间戳

错误时微信会返回错误码等信息,请根据错误码查询错误信息: 全局返回码说明