# 用户标签批量回传设置-开放接口
# 配置信息
例如:
- APPID: xxxxxxxxxxxxxxx
- TOKEN: xxxxxxxxxxxxxxx
- EncodingAESKey: xxxxxxxxxxxxxxx
# 批量设置用户标签接口:
https://chatbot.weixin.qq.com/openapi/label/batchset/{TOKEN}
接口类型:
POST请求
参数说明:
字段 | 类型 | 是否必填 | 描述 |
---|---|---|---|
appid | string | 是 | 公众号或小程序的appid |
category | string | 是 | 标签名称, 比如 完件 |
label | string | 是 | 二级标签名称, 比如,未完件/完件 |
desc | string | 是 | 标签分类规则, 比如,在app中完成/未完成了用户信息 |
list | Array.<string> | 要设置标签的openid,比如,["openid_1", "openid_2"] |
运行例子代码
cd src
rm -rf bin
mkdir bin
javac -d bin -cp "lib/*" demo/OpenAiDemo.java com/qq/weixin/mp/aes/*java com/tencent/nlp/openai/*java
# appid token encodingAESKey用https://chatbot.weixin.qq.com/申请的机器人信息替代
java -cp "bin:lib/*" demo.OpenAiDemo appid token encodingAESKey
比如参数为
<xml>
<appid><![CDATA[wxxxxx]]></appid>
<category><![CDATA[完件]]></category>
<label><![CDATA[完成]]></label>
<desc><![CDATA[在app中完成了用户信息]]></desc>
<list>
<openid><![CDATA[openid_1]]></openid>
<openid><![CDATA[openid_2]]></openid>
</list>
</xml>
将加密后的数据,以字段 encrypt 放入body中
var cryptor = new WXBizMsgCrypt(TOKEN, EncodingAESKey, APPID);
var data = `<xml>
<appid><![CDATA[wxxxxx]]></appid>
<category><![CDATA[完件]]></category>
<label><![CDATA[完成]]></label>
<desc><![CDATA[在app中完成了用户信息]]></desc>
<list><openid><![CDATA[[openid_1]]]></openid><openid><![CDATA[[openid_2]]></openid></list>
</xml>`
var encrypted = cryptor.encrypt(data);
curl -X post -d '{"encrypt": encrypted}' -H "content-type:application/json" "https://chatbot.weixin.qq.com/openapi/label/batchset/{TOKEN}"
注意: 在发送post的请求时,需要指定 content-type: "application/json"
返回值说明:
字段 | 类型 | 描述 |
---|---|---|
code | number | 错误码 |
answer_type | string | 回答类型:text,music,news |
msg | array | 回答详细信息 |
from_user_name | string | 发起query的用户,对应签名接口的userid |
to_user_name | string | 接受query的机器人 |
status | string | 机器人回复的状态, 可能的数值:FAQ、NOMATCH、CONTEXT_FAQ、GENERAL_FAQ |
返回格式:
{
"errcode": 0,
"msg": "成功"
}
# 错误码说明:
{
errcode: 1001,
errmsg: "TOKEN is not valid"
}
错误码 | 描述 |
---|---|
1001 | token无效 |
1002 | 机器人审核没有通过 |
1003 | 签名缺少userid字段 |
1004 | 签名字段为空 |
1005 | 签名过期或无效 |
1006 | 签名校验失败,缺少userid字段 |
1007 | appid, category,label, desc 字段不能未空 |