细分 (筛选器) API
createFilter
Anchor link toPOST https://api.pushwoosh.com/json/1.3/createFilter
创建一个新的筛选器。
请求正文
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| auth* | 是 | string | 来自 Pushwoosh 控制面板的 API 访问令牌。 |
| name* | 是 | string | 筛选器名称。 |
| filter_expression* | 是 | string | 根据 细分语言 的规则构建的表达式。 |
| application | 否 | string | Pushwoosh 应用程序代码。此参数仅适用于高速设置;否则请省略。 |
| expiration_date | 否 | string | 筛选器到期时间。除非在预设或 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 toPOST https://api.pushwoosh.com/json/1.3/listFilters
返回可用细分 (筛选器) 及其条件的列表。
请求正文
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| auth* | 是 | string | 来自 Pushwoosh 控制面板的 API 访问令牌。 |
| application* | 是 | string | Pushwoosh 应用程序代码 |
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 toPOST 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 toPOST https://api.pushwoosh.com/api/v2/audience/exportSegment
一个计划请求。导出符合指定筛选器条件的订阅者列表。
请求正文
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| auth* | 是 | string | 来自 Pushwoosh 控制面板的 API 访问令牌。 |
| filterExpression* | 是 | string | 筛选器条件 |
| exportData | 否 | array | 要导出的数据。可能的值:"hwids"、"push_tokens"、"users"、"tags"、"location"。包含 "location" 会将 Latitude 和 Longitude 列添加到导出的 CSV 中。如果省略 exportData,Latitude 和 Longitude 默认会包含在导出中。 |
| filterCode | 否 | string | 预制的 筛选器代码,可用于替代 filterExpression。可以从 /listFilters API 或在控制面板中查看筛选器时从浏览器的地址栏获取。 |
| applicationCode | 如果您使用 filterExpression 或 filterCode,则此项为必需。 | string | Pushwoosh 应用程序代码 |
| generateExport | 否 | boolean | 默认设置为 true,响应中包含下载文件的链接。如果为 false,响应中将只发送设备数量。 |
| format | 否 | string | 设置导出文件的格式:“csv” 或 “json_each_line”。如果省略,将生成 CSV 文件。 |
| tagsList | 否 | array | 指定要导出的 标签。要仅获取特定标签,“exportData” 数组应包含 “tags” 值。 |
| includeWithoutTokens | 否 | boolean | 设置为 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 toPOST 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 | 设备的硬件 ID | 01D1BA5C-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 |