Skip to content

API для сегментации (фильтров)

POST https://api.wavesend.ru/json/1.3/createFilter

Создает новый фильтр.

Тело запроса

ИмяОбязательныйТипОписание
auth*ДаstringAPI access token из Wavesend Control Panel.
name*ДаstringНазвание фильтра.
filter_expression*Даstring

Выражение, составленное в соответствии с правилами языка сегментации.
Пример: T(“City”, eq, “Madrid”) для сегментации пользователей, у которых город — Мадрид.

applicationНетstringApplication code Wavesend. Этот параметр используется только с 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 access token из Wavesend Control Panel
"name": "Timezone Filter",
"filter_expression": "T(\"Timezone\", BETWEEN, [\"UTC-12:00\", \"UTC+14:00\"])"
}
}

POST https://api.wavesend.ru/json/1.3/listFilters

Возвращает список доступных сегментов (фильтров) с их условиями.

Тело запроса

ИмяОбязательныйТипОписание
auth*ДаstringAPI access token из Wavesend Control Panel.
application*ДаstringApplication code Wavesend

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"
}
}

POST https://api.wavesend.ru/json/1.3/deleteFilter

Удаляет существующий фильтр.

Тело запроса

ИмяТипОписание
auth*stringAPI access token из Wavesend Control Panel.
name*stringНазвание фильтра.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Пример
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API access token из Wavesend Control Panel
"name": "filter name"
}
}

POST https://api.wavesend.ru/api/v2/audience/exportSegment

Запланированный запрос. Экспортирует список подписчиков, которые подпадают под указанные условия фильтра.

Тело запроса

Имя
Обязательный
ТипОписание
auth*ДаstringAPI access token из Wavesend Control Panel.
filterExpression*ДаstringУсловия фильтра
exportDataНетarrayДанные для экспорта. Возможные значения: "hwids", "push_tokens", "users", "tags", "location". Включение "location" добавляет столбцы Latitude и Longitude в экспортируемый CSV-файл. Если exportData опущен, Latitude и Longitude включаются в экспорт по умолчанию.
filterCodeНетstringГотовый код фильтра, может использоваться вместо filterExpression. Его можно получить из API /listFilters или из адресной строки браузера при просмотре фильтра в Control Panel.
applicationCodeОбязательно, если вы используете filterExpression или filterCode.stringApplication code Wavesend.
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 access token из Wavesend Control Panel
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // условия фильтра, синтаксис см. в руководстве по языку сегментации
"filterCode": "12345-67890", // готовый код фильтра, может использоваться вместо filterExpression
"applicationCode": "00000-AAAAA", // Обязательно, если вы используете filterExpression или filterCode. Application code Wavesend. Можно получить из запроса API /listFilters или из адресной строки браузера при просмотре фильтра в Control Panel.
"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 access token из Wavesend Control Panel
"filterExpression": "A(\"AAAAA-BBBBB\")", // Выражение фильтра, ссылающееся на сегмент приложения
"applicationCode": "AAAAA-BBBBB" // Обязательный Application code Wavesend
}

POST https://api.wavesend.ru/api/v2/audience/exportSegment/result

Получает ссылку на CSV с результатами /exportSegment.

Тело запроса

ИмяТипОписание
auth*StringAPI access token из Wavesend Control Panel.
task_id*StringИдентификатор, полученный в ответе на ваш запрос /exportSegment.
{
"devicesCount": "24735",
"csvFilename": "https://static.wavesend.ru/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

Передайте task_id, полученный в ответе на ваш запрос /exportSegment, в теле запроса /exportSegment/result.

В ответе на /exportSegment/result вы получите параметр “filename”. Перейдите по ссылке, указанной в значении этого параметра, чтобы автоматически загрузить ZIP-архив. Распакуйте архив, чтобы получить CSV или JSON-файл (в зависимости от “format”, указанного в вашем запросе), содержащий данные устройств.

Начиная с 3 апреля 2025 года, для скачивания файла потребуется авторизация:

  • При скачивании через браузер, просто войдите в Wavesend Control Panel, чтобы получить доступ.
  • При скачивании через серверное ПО, включите в ваш запрос следующий заголовок: Authorization: Token YOUR_API_TOKEN

Если вы указываете “exportData” в своем запросе /exportSegment, скачанный файл будет содержать только запрошенные данные. По умолчанию файл содержит следующие данные пользователя:

ПолеОписаниеПример значения
HwidHWID (Hardware ID) устройства01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDUser 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