API для сегментации (фильтров)
createFilter
Anchor link toPOST https://api.pushwoosh.com/json/1.3/createFilter
Создает новый фильтр.
Тело запроса
| Имя | Обязательный | Тип | Описание |
|---|---|---|---|
| auth* | Да | string | Токен доступа к API из Панели управления Pushwoosh. |
| name* | Да | string | Название фильтра. |
| filter_expression* | Да | string | Выражение, составленное в соответствии с правилами языка сегментации. |
| application | Нет | string | Код приложения Pushwoosh. Этот параметр используется только с High-Speed Setup; в противном случае его следует опустить. |
| expiration_date | Нет | string | Срок действия фильтра. Фильтр будет автоматически удален в указанную дату, если он не используется в пресете (Preset) или RSS-ленте. |
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", // Токен доступа к API из Панели управления Pushwoosh "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 | Токен доступа к API из Панели управления Pushwoosh. |
| 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 | Токен доступа к API из Панели управления Pushwoosh. |
| name* | string | Название фильтра. |
{ "status_code": 200, "status_message": "OK", "response": null}{ "request": { "auth": "yxoPUlwqm…………pIyEX4H", // Токен доступа к API из Панели управления Pushwoosh "name": "filter name" }}exportSegment
Anchor link toPOST https://api.pushwoosh.com/api/v2/audience/exportSegment
Запланированный запрос. Экспортирует список подписчиков, которые соответствуют указанным условиям фильтра.
Тело запроса
| Имя | Обязательный | Тип | Описание |
|---|---|---|---|
| auth* | Да | string | Токен доступа к API из Панели управления Pushwoosh. |
| filterExpression* | Да | string | Условия фильтрации |
| exportData | Нет | array | Данные для экспорта. Возможные значения: "hwids", "push_tokens", "users", "tags", "location". Включение "location" добавляет в экспортируемый CSV-файл столбцы Latitude и Longitude. Если exportData опущен, Latitude и Longitude включаются в экспорт по умолчанию. |
| filterCode | Нет | string | Код готового фильтра, может использоваться вместо filterExpression. Его можно получить из API /listFilters или из адресной строки браузера при просмотре фильтра в Панели управления. |
| applicationCode | Обязателен, если вы используете filterExpression или filterCode. | string | Код приложения Pushwoosh. |
| generateExport | Нет | boolean | По умолчанию установлено значение true, и ответ содержит ссылку для скачивания файла. Если false, в ответе будет отправлено только количество устройств. |
| format | Нет | string | Устанавливает формат экспортируемого файла: “csv” или “json_each_line”. Если параметр опущен, генерируется CSV-файл. |
| tagsList | Нет | array | Указывает теги для экспорта. Чтобы получить только определенные теги, массив “exportData” должен содержать значение “tags”. |
| includeWithoutTokens | Нет | boolean | Установите значение true, чтобы включить в экспортируемый файл пользователей без push-токенов. По умолчанию — false. |
{ "task_id": "177458"}{ "auth": "yxoPUlwqm…………pIyEX4H", // обязательно. Токен доступа к API из Панели управления Pushwoosh "filterExpression": "AT(\"12345-67890\", \"Name\", any)", // условия фильтрации, синтаксис см. в руководстве по языку сегментации "filterCode": "12345-67890", // код готового фильтра, может использоваться вместо filterExpression "applicationCode": "00000-AAAAA", // Обязателен, если вы используете filterExpression или filterCode. Код приложения Pushwoosh. Его можно получить из ответа на API-запрос /listFilters или из адресной строки браузера при просмотре фильтра в Панели управления. "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, чтобы включить в экспортируемый файл пользователей без push-токенов. По умолчанию — false.}Например, чтобы экспортировать всех подписчиков определенного приложения, используйте следующие условия фильтра:
{ "auth": "yxoPUlwqm…………pIyEX4H", // Токен доступа к API из Панели управления Pushwoosh "filterExpression": "A(\"AAAAA-BBBBB\")", // Выражение фильтра, ссылающееся на сегмент приложения "applicationCode": "AAAAA-BBBBB" // Обязательный код приложения Pushwoosh}Результаты exportSegment
Anchor link toPOST https://api.pushwoosh.com/api/v2/audience/exportSegment/result
Получает ссылку на CSV-файл с результатами /exportSegment.
Тело запроса
| Имя | Тип | Описание |
|---|---|---|
| auth* | String | Токен доступа к API из Панели управления Pushwoosh. |
| task_id* | String | Идентификатор, полученный в ответе на запрос /exportSegment. |
{ "devicesCount": "24735", "csvFilename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip", "status": "completed"}Передайте task_id, полученный в ответе на запрос /exportSegment, в теле запроса /exportSegment/result.
В ответе на запрос /exportSegment/result вы получите параметр “filename”. Перейдите по ссылке, указанной в значении этого параметра, чтобы автоматически скачать ZIP-архив. Распакуйте архив, чтобы получить CSV- или JSON-файл (в зависимости от “формата”, указанного в вашем запросе), содержащий данные устройств.
Начиная с 3 апреля 2025 года для скачивания файла потребуется авторизация:
- Если вы скачиваете через браузер, просто войдите в Панель управления Pushwoosh, чтобы получить доступ.
- Если вы скачиваете с помощью серверного ПО, включите в ваш запрос следующий заголовок:
Authorization: Token YOUR_API_TOKEN
Если вы укажете “exportData” в своем запросе /exportSegment, скачанный файл будет содержать только запрошенные данные. По умолчанию файл содержит следующие данные пользователя:
| Поле | Описание | Пример значения |
|---|---|---|
| Hwid | Аппаратный идентификатор устройства (HWID) | 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 |