# 第三方客服系统接入- 查看用户的客服接入状态

客服的用户接入状态,会直接控制机器人是否回复用户,当接入状态为on时代表,此客户已 被客服接入,此时机器人将不进行回答,只有客服提供服务,当接入状态为off时代表,此客户还没有 被客服接入,此时机器人遇到命中的已配置问题,将进行自动回复。

# 配置信息

例如:

  • APPID: xxxxxxxxxxxxxxx
  • TOKEN: xxxxxxxxxxxxxxx
  • EncodingAESKey: xxxxxxxxxxxxxxx

# 查看客服接入状态接口:

https://chatbot.weixin.qq.com/openapi/kefustate/get/{TOKEN}

接口类型:

POST请求

参数说明:

字段 类型 是否必填 默认值 描述
appid string 公众号或小程序的appid
openid string 用户的微信openid
type string simple simple/all: simple仅获取kfstate字段,all额外获取status字段

消息加解密接入指引

比如参数为

<xml>
    <appid><![CDATA[wxxxxx]]></appid>
    <openid><![CDATA[xxxxx]]></openid>
</xml>

将加密后的数据,以字段 encrypt 放入body中

var cryptor = new WXBizMsgCrypt(TOKEN, EncodingAESKey, APPID);
var data = `<xml>
    <appid><![CDATA[wxxxxx]]></appid>
    <openid><![CDATA[xxxxx]]></openid>
</xml>`
var encrypted = cryptor.encrypt(data);


curl -X post -d '{"encrypt": encrypted}' "https://chatbot.weixin.qq.com/openapi/kefustate/get/{TOKEN}"

返回值说明:

字段 类型 描述
errcode number 错误码
kefustate string on/off on代表已接入,off代表未接入
status string 人工客服接入状态的字段

status 字段说明:

字段 类型 描述
asking string 待接入, 顾客于机器人进行咨询对话
personserving string 已接入, 人工客服已经接入服务该顾客
complete string 接入完成, 人工客服人员已经完成对该该顾客的相关咨询服务
needperson string 待转人工, 顾客表达出了希望对接人工客服的意愿,并成功被智能机器人捕获,通常是命中了技能名称中含有“转人工”字样的技能

返回格式:

{
  "errcode": 0,
  "kefustate": "on/off"
}

# 错误码说明:

{
    errcode: 1001,
    errmsg: "TOKEN is not valid"
}
错误码 描述
1001 token无效
1002 机器人审核没有通过
1003 签名缺少userid字段
1004 签名字段为空
1005 签名过期或无效
1006 签名校验失败,缺少userid字段
1007 appid, category,label, desc 字段不能未空