Appearance
同步标签
全量或增量拉取当前账号可见的标签组 + 标签清单(个人标签 / 企业标签两套)。用游标 seq 做增量;企业标签变更推送 contentType 2185,个人标签变更推送 2186,收到后重新同步。
说明与注意
syncType与labelType都是1企业标签、2个人标签;dataType为1表示标签、2表示标签组。企业标签变更推送contentType 2185,个人标签变更推送2186。- 服务端标记该接口为开发中,响应结构可能变动。
请求参数
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
appid | 是 | string | 实例 appid,标识操作哪个已登录账号。示例:we_xxxxxxxxxxxxxxx |
seq | 是 | int64 | 首次传 0 取全量;后续传响应返回的最新 seq 增量拉取。示例:0 |
syncType | 是 | int64 | 标签类型:1 企业标签、2 个人标签。示例:2 |
请求示例
http
POST {BASE_URL}/wx-api/api/label/sync
Authorization: Bearer <你的 App Token>
Content-Type: application/json
{
"appid": "we_xxxxxxxxxxxxxxx",
"seq": 0,
"syncType": 2
}bash
curl -X POST '{BASE_URL}/wx-api/api/label/sync' \
-H 'Authorization: Bearer <你的 App Token>' \
-H 'Content-Type: application/json' \
--data-raw '{
"appid": "we_xxxxxxxxxxxxxxx",
"seq": 0,
"syncType": 2
}'python
import requests
url = "{BASE_URL}/wx-api/api/label/sync"
headers = {"Authorization": "Bearer <你的 App Token>", "Content-Type": "application/json"}
body = """{
"appid": "we_xxxxxxxxxxxxxxx",
"seq": 0,
"syncType": 2
}"""
resp = requests.post(url, headers=headers, data=body.encode("utf-8"))
print(resp.text)java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String url = "{BASE_URL}/wx-api/api/label/sync";
String body = "{\n" +
" \"appid\": \"we_xxxxxxxxxxxxxxx\",\n" +
" \"seq\": 0,\n" +
" \"syncType\": 2\n" +
"}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create(url))
.header("Authorization", "Bearer <你的 App Token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());php
<?php
$url = '{BASE_URL}/wx-api/api/label/sync';
$body = <<<'JSON'
{
"appid": "we_xxxxxxxxxxxxxxx",
"seq": 0,
"syncType": 2
}
JSON;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer <你的 App Token>',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;响应示例
json
{
"code": 0,
"data": {
"seq": 7807081,
"labelItems": [
{
"op": 3,
"label": {
"id": 14073750612004751,
"name": "客户等级",
"dataType": 2,
"bDeleted": 0,
"labelGroupId": 0,
"createTime": 1781337439,
"labelType": 1,
"businessType": 0,
"order": 0,
"serviceGroupId": 0
}
},
{
"op": 3,
"label": {
"id": 14073750612004752,
"name": "一般",
"dataType": 1,
"bDeleted": 0,
"labelGroupId": 14073750612004751,
"createTime": 1781337439,
"labelType": 1,
"businessType": 0,
"order": 0,
"serviceGroupId": 0
}
}
],
"hasNext": false
},
"detail": "",
"message": "ok",
"time": "2026-08-28 09:26:33"
}响应字段
响应字段(20 项)
| 字段 | 类型 | 说明 |
|---|---|---|
code | int64 | 统一封套状态码:0=成功,负数=失败 |
data | object | 业务数据 |
data.seq | int64 | 同步游标(增量翻页位置) |
data.labelItems | array<object> | 标签/标签组条目列表 |
data.labelItems[].op | int64 | 操作:1 新增 / 2 删除 / 3 修改 |
data.labelItems[].label | object | 完整标签对象(须原样取自本接口响应) |
data.labelItems[].label.id | int64 | 标签 id |
data.labelItems[].label.name | string | 标签名 |
data.labelItems[].label.dataType | int64 | 数据类型:1 标签、2 标签组 |
data.labelItems[].label.bDeleted | int64 | 是否已删除(0/1) |
data.labelItems[].label.labelGroupId | int64 | 所属标签组 id |
data.labelItems[].label.createTime | int64 | 建立 / 更新时间戳(秒) |
data.labelItems[].label.labelType | int64 | 标签类型:1 企业标签、2 个人标签 |
data.labelItems[].label.businessType / data.labelItems[].label.order / data.labelItems[].label.serviceGroupId | int64 | 业务类型 / 排序 / 服务组 id(原样回传) |
data.hasNext | boolean | 是否还有下一页 |
detail | string | 附加明细,通常为空 |
message | string | 文案:成功为 ok;失败形如 -码|描述 |
time | string | 服务端处理时间 YYYY-MM-DD HH:MM:SS |