# 第三方客服系统接入- 修改用户的客服接入状态
客服的用户接入状态,会直接控制机器人是否回复用户,当接入状态为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 | 是 | 客服状态 |
客服状态说明:
字段 | 类型 | 描述 |
---|---|---|
asking | string | 待接入, 顾客于机器人进行咨询对话 |
personserving | string | 已接入, 人工客服已经接入服务该顾客 (老接口状态为on) |
complete | string | 接入完成, 人工客服人员已经完成对该该顾客的相关咨询服务 (老接口状态为off) |
needperson | string | 待转人工, 顾客表达出了希望对接人工客服的意愿,并成功被智能机器人捕获,通常是命中了技能名称中含有“转人工”字样的技能 |
比如参数为
<xml>
<appid><![CDATA[wxxxxx]]></appid>
<openid><![CDATA[xxxxx]]></openid>
<kefustate><![CDATA[needperson]]></kefustate>
</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>
</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 字段不能未空 |