# 第三方客服系统接入- 修改用户的客服接入状态
客服的用户接入状态,会直接控制机器人是否回复用户,当接入状态为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 字段不能未空 |