Comment on page
Segmentation (Filters) API
API methods to manage Filters
post
https://api.pushwoosh.com/json/1.3
/createFilter
/createFilter
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token from Pushwoosh Control Panel
"name": "filter name", // required
"conditions": [["TagName1", "IN", ["value1", "value2"]], ["TagName2", "IN", ["value1", "value2"]]], // required, filter conditions
"operator": "AND", // optional, operator values: 'AND', 'OR'
"application": "AAAAA-00000", // optional, this parameter is usable only with High-Speed setup; omit otherwise
"expiration_date": "2018-12-31" // optional, filter expiry. The filter will be automatically deleted on date specified, unless it's used in a Push Preset or an RSS feed
}
}
// creating Filters for Timezones
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API access token from Pushwoosh Control Panel
"name": "timezone name",
"conditions": [["Timezone", "BETWEEN", ["UTC-12:00", "UTC+14:00"]]],
}
}
post
https://api.pushwoosh.com/json/1.3
/listFilters
/listFilters
Example
{
"request":{
"auth": "yxoPUlwqm…………pIyEX4H" // API access token from Pushwoosh Control Panel
}
}
post
https://api.pushwoosh.com/json/1.3
/deleteFilter
/deleteFilter
Example
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API access token from Pushwoosh Control Panel
"name": "filter name"
}
}
post
https://api.pushwoosh.com/api/v2/audience
/exportSegment
/exportSegment
Example
{
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token from Pushwoosh Control Panel
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // filter conditions, refer to the Segmentation Language guide for syntax
"filterCode": "12345-67890", // pre-made filter code, can be used instead of filterExpression
"applicationCode": "00000-AAAAA", // Pushwoosh app code (needed when filterCode is applied instead of filterExpression). Can be obtained from /listFilters API request or address bar of your browser while viewing the filter in Control Panel.
"generateExport": true // if false, devices count only will be sent in response; by default, a response contains a link to download the CSV file
"format": "json_each_line", // format of the file to present the data in: "csv" – the .csv file is downloaded; "json" – a JSON file with all expored devices; or "json_each_line" – JSON line for each device. If not specified, CSV is the default format.
"exportData": ["hwids", "tags"], // optional, data to export. Possible values: "hwids", "push_tokens", "users", "tags", "fcm_keys", "web keys"
"tagsList": ["Name", "Level"] // optional, specifies tags to export. To obtain the specific tags only, the "tags" value should be sent within the "exportData" array or the "exportData" be empty.
}
For example, to export all subscribers of a particular app, use the following Filter conditions:
{
"auth": "yxoPUlwqm…………pIyEX4H", // API access token from Pushwoosh Control Panel
"filterExpression": "A(\"AAAAA-BBBBB\")" // Pushwoosh app code
}
In the response, you'll get the
task_id
to get the resulting file. Then, call /exportSegment/result with that task_id
in the request body to retrieve the resulting file. post
https://api.pushwoosh.com/api/v2/audience
/exportSegment/result
/exportSegment/result
Pass the "task_id" received in your
/exportSegment
response in the /exportSegment/result
request body. In
/exportSegment/resul
t response, you'll get the "filename" parameter; go to the link specified as that param value. A ZIP archive will be downloaded automatically. Unpack the archive to get the CSV or JSON (depending on what "format" you've sent in the request) file with the devices' data. If you specify the "exportData" in your
/exportSegment
request, the file downloaded will contain the data requested only. By default, the file contains the following user data: Field | Description | Example of value |
Hwid | Hardware ID of a device | 01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8 |
User ID | User ID associating a device with a particular user. If no User ID assigned, the HWID is used. | user8192 |
Push Token | Unique identifier assigned to a device by cloud messaging gateways. | eeeb2fd7....0fc3547 |
Type | Platform type (integer). | 1 |
Type (humanized) | Platform type (string). | iOS |
Age | Value of the default Age tag. | 29 |
ApplicationVersion | Value of the default Application Version tag. | 1.12.0.0 |
City | Value of the default City tag. | us, boston |
TagName | Value of a tag created in your account. | TagValue |
Last modified 6mo ago