开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。使用接口过程中有任何问题,可以前往微信开放社区 #公众号 专区发帖交流。

标签管理

1. 创建标签

一个公众号,最多可以创建100个标签。

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据示例:

{
    "tag" : {
        "name" : "广东" // 标签名,30个字节以内
    }
} 

返回说明(正常时返回的 json 数据包示例)

{
    "tag": {
        "id":134, // 标签 id,由微信分配 
        "name":"广东" // 标签名
    }
} 

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
45157 标签名非法,请注意不能和其他标签重名 检查标签名
45158 标签名长度超过30个字节 检查标签名
45056 创建的标签数过多,请注意不能超过100个 适当删减标签

2. 获取公众号已创建的标签

接口调用请求说明

http 请求方式: GET (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESS_TOKEN

返回说明

{   
"tags":[{       
    "id":1,       
    "name":"每天一罐可乐星人",      
    "count":0 // 此标签下粉丝数
},
{   
    "id":2,   
    "name":"星标组",   
    "count":0
},
{   
    "id":127,  
    "name":"广东",  
    "count":5 
 }   
] } 

3. 编辑标签

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/update?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据例子:

{
    "tag" : {
        "id" : 134,
        "name" : "广东人"
    }
} 

返回说明

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

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
45157 标签名非法,请注意不能和其他标签重名 检查标签名
45158 标签名长度超过30个字节 检查标签名
45058 不能修改0/1/2这三个系统默认保留的标签

4. 删除标签

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/delete?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据例子:

{
    "tag": {
        "id" : 134
    }
} 

返回说明

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

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
45058 不能修改0/1/2这三个系统默认保留的标签
45057 该标签下粉丝数超过10w,不允许直接删除 尝试先为粉丝取消标签

5. 获取标签下粉丝列表

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/user/tag/get?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据例子:

{
    "tagid" : 134,
    "next_openid":"" // 第一个拉取的 openid,不填默认从头开始拉取
} 

返回说明(正常时返回的 json 包示例)

{  
    "count":2, // 这次获取的粉丝数量   
    "data":{ // 粉丝列表
        "openid":[  
            "ocYxcuAEy30bX0NXmGn4ypqx3tI0",    
            "ocYxcuBt0mRugKZ7tGAHPnUaOW7Y" 
        ]  
    },  
    "next_openid":"ocYxcuBt0mRugKZ7tGAHPnUaOW7Y" // 拉取列表最后一个用户的 openid 
}

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
40003 传入非法的 openid 检查下 openid
45159 非法的 tagid 检查下 tagid

用户管理

标签功能目前支持公众号为用户打上最多20个标签。

1. 批量为用户打标签

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=ACCESS_TOKEN

POST 数据例子:

{   
    "openid_list" : [ //粉丝列表    
        "ocYxcuAEy30bX0NXmGn4ypqx3tI0",    
        "ocYxcuBt0mRugKZ7tGAHPnUaOW7Y"
    ],   
    "tagid" : 134,
    "return_fail_openid": true // 可选, 若设置为 true 则当有部分 openid 打标失败时会在回包里给出
 } 

返回说明(正常时返回的 json 包示例)

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

返回说明(return_fail_openid 设置为 true 且有部分 openid 失败时返回的 json 包示例)

{
    "errcode":45171,
    "errmsg":"some openid fail",
    "fail_openid_list": [
        "ocYxcuAEy30bX0NXmGn4ypqx3tI0"
    ]
}

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
40003 传入非法的 openid 检查下 openid
40032 每次传入的 openid 列表个数不能超过50个 调整 openid 列表个数
45059 有粉丝身上的标签数已经超过限制,即超过20个
45159 非法的标签
45169 一般是因为对同个 openid 并发打标/取消标签导致 重试,或者尽量避免对同个 openid 并发打标/取消标签
49003 传入的 openid 不属于此 AppID 检查下 openid
45171 当 return_fail_openid 设置为 true 且有部分 openid 失败时则会返回该错误码,同时会通过 fail_openid_list 把失败的 openid 告知开发者 部分 openid 失败一般是因为对应粉丝已经取关了

2. 批量为用户取消标签

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/members/batchuntagging?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据例子:

{   
    "openid_list" : [ //粉丝列表     
        "ocYxcuAEy30bX0NXmGn4ypqx3tI0",     
        "ocYxcuBt0mRugKZ7tGAHPnUaOW7Y"
    ],   
    "tagid" : 134,
    "return_fail_openid": true // 可选, 若设置为 true 则当有部分 openid 取消标签失败时会在回包里给出
 } 

返回说明(正常时返回的 json 包示例)

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

返回说明(return_fail_openid 设置为 true 且有部分 openid 失败时返回的 json 包示例)

{
    "errcode":45171,
    "errmsg":"some openid fail",
    "fail_openid_list": [
        "ocYxcuAEy30bX0NXmGn4ypqx3tI0"
    ]
}

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
40003 传入非法的 openid 检查下 openid
40032 每次传入的 openid 列表个数不能超过50个 调整 openid 列表个数
45159 非法的标签
45169 一般是因为对同个 openid 并发打标/取消标签导致 重试,或者尽量避免对同个 openid 并发打标/取消标签
49003 传入的 openid 不属于此 AppID 检查下 openid
45171 当 return_fail_openid 设置为 true 且有部分 openid 失败时则会返回该错误码,同时会通过 fail_openid_list 把失败的 openid 告知开发者 部分 openid 失败一般是因为对应粉丝已经取关了

3. 获取用户身上的标签列表

接口调用请求说明

http 请求方式: POST (请使用 https 协议) https://api.weixin.qq.com/cgi-bin/tags/getidlist?access_token=ACCESS_TOKEN

POST 数据格式: JSON

POST 数据例子:

{
    "openid" : "ocYxcuBt0mRugKZ7tGAHPnUaOW7Y"
} 

返回说明(正常情况下返回的 json 示例)

{
    "tagid_list": [ // 被打上的标签列表
        134,
        2
    ]
} 

错误码说明

错误码 错误信息 解决方案
公共错误码 点击查看
40003 传入非法的 openid 检查下 openid
49003 传入的 openid 不属于此 AppID 检查下 openid
OSZAR »