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

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

# 配置信息

例如:

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

# 修改客服接入状态接口:

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

接口类型:

POST请求

参数说明:

字段 类型 是否必填 描述
appid string 公众号或小程序的 appid
openid string 用户的微信 openid
kefustate string on/off on 表示接入,off 表述接出
expires number 有效时间,单位为秒,默认是 1800,超过有效期后将自动切换为 off 状态

消息加解密接入指引

比如参数为

<xml>
    <appid><![CDATA[wxxxxx]]></appid>
    <openid><![CDATA[xxxxx]]></openid>
    <kefustate><![CDATA[off]]></kefustate>
    <expires>1800</expires>
</xml>

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

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


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

返回值说明:

字段 类型 描述
errcode number 错误码
errmsg string 错误信息

返回格式:

{
  "errcode": 0,
  "errmsg": ""
}

# 错误码说明:

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