跳到内容

细分 (筛选器) API

createFilter

Anchor link to

POST https://api.pushwoosh.com/json/1.3/createFilter

创建一个新的筛选器。

请求正文

名称必需类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌
name*string筛选器名称
filter_expression*string

根据 细分语言 的规则构建的表达式。
示例: T(“City”, eq, “Madrid”) 用于细分城市为马德里的用户。

applicationstringPushwoosh 应用程序代码。此参数仅适用于高速设置;否则请省略。
expiration_datestring筛选器到期时间。除非在预设或 RSS Feed 中使用,否则筛选器将在指定日期自动删除。

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"name": "filter name"
}
}

示例

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// 为时区创建筛选器
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // 来自 Pushwoosh 控制面板的 API 访问令牌
"name": "Timezone Filter",
"filter_expression": "T(\"Timezone\", BETWEEN, [\"UTC-12:00\", \"UTC+14:00\"])"
}
}

listFilters

Anchor link to

POST https://api.pushwoosh.com/json/1.3/listFilters

返回可用细分 (筛选器) 及其条件的列表。

请求正文

名称必需类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌
application*stringPushwoosh 应用程序代码

200

{
"status_code": 200,
"status_message": "OK",
"response": {
"filters": [{
"code": "52551-F2F42",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"madrid\")",
"expiration_date": "2025-01-01",
"application": "B18XX-XXXXX"
}]
}
}

示例

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"application": "B18XX-XXXXX"
}
}

deleteFilter

Anchor link to

POST https://api.pushwoosh.com/json/1.3/deleteFilter

删除一个现有的筛选器。

请求正文

名称类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌
name*string筛选器名称
{
"status_code": 200,
"status_message": "OK",
"response": null
}
示例
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // 来自 Pushwoosh 控制面板的 API 访问令牌
"name": "filter name"
}
}

exportSegment

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment

一个计划请求。导出符合指定筛选器条件的订阅者列表。

请求正文

名称
必需
类型描述
auth*string来自 Pushwoosh 控制面板的 API 访问令牌
filterExpression*string筛选器条件
exportDataarray要导出的数据。可能的值:"hwids""push_tokens""users""tags""location"。包含 "location" 会将 LatitudeLongitude 列添加到导出的 CSV 中。如果省略 exportDataLatitudeLongitude 默认会包含在导出中。
filterCodestring预制的 筛选器代码,可用于替代 filterExpression。可以从 /listFilters API 或在控制面板中查看筛选器时从浏览器的地址栏获取。
applicationCode如果您使用 filterExpressionfilterCode,则此项为必需。stringPushwoosh 应用程序代码
generateExportboolean默认设置为 true,响应中包含下载文件的链接。如果为 false,响应中将只发送设备数量。
formatstring设置导出文件的格式:“csv” 或 “json_each_line”。如果省略,将生成 CSV 文件。
tagsListarray指定要导出的 标签。要仅获取特定标签,“exportData” 数组应包含 “tags” 值。
includeWithoutTokensboolean设置为 true 可将没有推送令牌的用户包含在导出的文件中。默认为 false
{
"task_id": "177458"
}
示例
{
"auth": "yxoPUlwqm…………pIyEX4H", // 必需。来自 Pushwoosh 控制面板的 API 访问令牌
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // 筛选器条件,语法请参考细分语言指南
"filterCode": "12345-67890", // 预制筛选器代码,可替代 filterExpression 使用
"applicationCode": "00000-AAAAA", // 如果您使用 `filterExpression` 或 `filterCode`,则此项为必需。Pushwoosh 应用代码。可以从 /listFilters API 请求或在控制面板中查看筛选器时从浏览器的地址栏获取。
"generateExport": true, // 如果为 false,响应中将只发送设备数量;默认情况下,响应中包含下载 CSV 文件的链接
"format": "json_each_line", // 用于呈现数据的文件格式:“csv” – 下载 .csv 文件;“json” – 包含所有导出设备的 JSON 文件;或 “json_each_line” – 每个设备的 JSON 行。如果未指定,默认为 CSV 格式。
"exportData": ["hwids", "tags"], // 可选。要导出的数据。可能的值:“hwids”、“push_tokens”、“users”、“tags”、“location”、“fcm_keys”、“web keys”
"tagsList": ["Name", "Level"], // 可选。指定要导出的标签。要仅获取特定标签,“tags” 值应在 “exportData” 数组中发送,或者 “exportData” 为空。
"includeWithoutTokens": true // 可选。设置为 true 可将没有推送令牌的用户包含在导出的文件中。默认为 false。
}

例如,要导出特定应用的所有订阅者,请使用以下筛选器条件:

{
"auth": "yxoPUlwqm…………pIyEX4H", // 来自 Pushwoosh 控制面板的 API 访问令牌
"filterExpression": "A(\"AAAAA-BBBBB\")", // 引用应用细分的筛选器表达式
"applicationCode": "AAAAA-BBBBB" // 必需的 Pushwoosh 应用代码
}

exportSegment 结果

Anchor link to

POST https://api.pushwoosh.com/api/v2/audience/exportSegment/result

检索包含 /exportSegment 结果的 CSV 链接。

请求正文

名称类型描述
auth*String来自 Pushwoosh 控制面板的 API 访问令牌
task_id*String在您的 /exportSegment 响应中收到的标识符。
{
"devicesCount": "24735",
"csvFilename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

将在您的 /exportSegment 响应中收到的 “task_id” 传递到 /exportSegment/result 请求正文中。

/exportSegment/result 响应中,您将收到 “filename” 参数。点击该参数值中提供的链接,可自动下载一个 ZIP 压缩包。解压该压缩包以检索包含设备数据的 CSV 或 JSON 文件 (取决于您请求中指定的 “format”)。

从 2025 年 4 月 3 日起,下载文件需要授权:

  • 如果通过浏览器下载,只需登录 Pushwoosh 控制面板即可获得访问权限。
  • 如果通过服务器软件下载,请在您的请求中包含以下标头: Authorization: Token YOUR_API_TOKEN

如果您在 /exportSegment 请求中指定了 “exportData”,下载的文件将仅包含请求的数据。默认情况下,文件包含以下用户数据:

字段描述值示例
Hwid设备的硬件 ID01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User ID将设备与特定用户关联的 User ID。如果未分配 User ID,则使用 HWID。user8192
Push Token由云消息网关分配给设备的唯一标识符。了解更多eeeb2fd7…0fc3547
Type平台类型 (整数)。1
Type (humanized)平台类型 (字符串)。iOS
Age默认 Age 标签的值。29
ApplicationVersion默认 Application Version 标签的值。1.12.0.0
City默认 City 标签的值。us, boston
TagName在您的账户中创建的标签的值。TagValue