Saltar al contenido

API de Segmentación (Filtros)

createFilter

Anchor link to

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

Crea un nuevo filtro.

Cuerpo de la solicitud

NombreRequeridoTipoDescripción
auth*stringToken de acceso a la API desde el Panel de Control de Pushwoosh.
name*stringNombre del filtro.
filter_expression*string

Expresión construida según las reglas del lenguaje de segmentación.
Ejemplo: T(“City”, eq, “Madrid”) para segmentar usuarios cuya ciudad es Madrid.

applicationNostringCódigo de aplicación de Pushwoosh. Este parámetro solo se puede utilizar con la configuración de alta velocidad; omítalo en caso contrario.
expiration_dateNostringVencimiento del filtro. El filtro se eliminará automáticamente en la fecha especificada, a menos que se utilice en un Preset o en una fuente RSS.

200

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

Ejemplo

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// creando Filtros para Zonas Horarias
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // Token de acceso a la API desde el Panel de Control de Pushwoosh
"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

Devuelve una lista de los segmentos (filtros) disponibles con sus condiciones.

Cuerpo de la solicitud

NombreRequeridoTipoDescripción
auth*stringToken de acceso a la API desde el Panel de Control de Pushwoosh.
application*stringCódigo de aplicación de 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"
}]
}
}

Ejemplo

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

deleteFilter

Anchor link to

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

Elimina un filtro existente.

Cuerpo de la solicitud

NombreTipoDescripción
auth*stringToken de acceso a la API desde el Panel de Control de Pushwoosh.
name*stringNombre del filtro.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Ejemplo
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // Token de acceso a la API desde el Panel de Control de Pushwoosh
"name": "filter name"
}
}

exportSegment

Anchor link to

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

Una solicitud programada. Exporta la lista de suscriptores que cumplen con las condiciones del filtro especificadas.

Cuerpo de la solicitud

Nombre
Requerido
TipoDescripción
auth*stringToken de acceso a la API desde el Panel de Control de Pushwoosh.
filterExpression*stringCondiciones del filtro
exportDataNoarrayDatos a exportar. Valores posibles: "hwids", "push_tokens", "users", "tags", "location". Incluir "location" añade las columnas Latitud y Longitud al CSV exportado. Si se omite exportData, Latitud y Longitud se incluyen en la exportación por defecto.
filterCodeNostringCódigo de filtro predefinido, se puede usar en lugar de filterExpression. Se puede obtener de la API /listFilters o de la barra de direcciones de su navegador al ver el filtro en el Panel de Control.
applicationCodeRequerido si está utilizando filterExpression o filterCode.stringCódigo de aplicación de Pushwoosh
generateExportNobooleanPor defecto, se establece en true, y una respuesta contiene un enlace para descargar el archivo. Si es false, solo se enviará el recuento de dispositivos en la respuesta.
formatNostringEstablece el formato del archivo exportado: “csv” o “json_each_line”. Si se omite, se genera el archivo CSV.
tagsListNoarrayEspecifica las etiquetas (tags) a exportar. Para obtener solo las etiquetas específicas, el array “exportData” debe contener el valor “tags”.
includeWithoutTokensNobooleanEstablézcalo en true para incluir a los usuarios sin tokens push en el archivo exportado. El valor predeterminado es false.
{
"task_id": "177458"
}
Ejemplo
{
"auth": "yxoPUlwqm…………pIyEX4H", // requerido. Token de acceso a la API desde el Panel de Control de Pushwoosh
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // condiciones del filtro, consulte la guía del Lenguaje de Segmentación para la sintaxis
"filterCode": "12345-67890", // código de filtro predefinido, se puede usar en lugar de filterExpression
"applicationCode": "00000-AAAAA", // Requerido si está utilizando filterExpression o filterCode. Código de la aplicación Pushwoosh. Se puede obtener de la solicitud de la API /listFilters o de la barra de direcciones de su navegador al ver el filtro en el Panel de Control.
"generateExport": true, // si es false, solo se enviará el recuento de dispositivos en la respuesta; por defecto, una respuesta contiene un enlace para descargar el archivo CSV
"format": "json_each_line", // formato del archivo para presentar los datos: "csv" – se descarga el archivo .csv; "json" – un archivo JSON con todos los dispositivos exportados; o "json_each_line" – una línea JSON por cada dispositivo. Si no se especifica, CSV es el formato por defecto.
"exportData": ["hwids", "tags"], // opcional. Datos a exportar. Valores posibles: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys"
"tagsList": ["Name", "Level"], // opcional. Especifica las etiquetas a exportar. Para obtener solo las etiquetas específicas, el valor "tags" debe enviarse dentro del array "exportData" o "exportData" debe estar vacío.
"includeWithoutTokens": true // opcional. Establézcalo en true para incluir a los usuarios sin tokens push en el archivo exportado. El valor predeterminado es false.
}

Por ejemplo, para exportar todos los suscriptores de una aplicación en particular, utilice las siguientes condiciones de filtro:

{
"auth": "yxoPUlwqm…………pIyEX4H", // Token de acceso a la API desde el Panel de Control de Pushwoosh
"filterExpression": "A(\"AAAAA-BBBBB\")", // Expresión de filtro que hace referencia al segmento de la aplicación
"applicationCode": "AAAAA-BBBBB" // Código de aplicación de Pushwoosh requerido
}

resultados de exportSegment

Anchor link to

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

Recupera el enlace al CSV con los resultados de /exportSegment.

Cuerpo de la solicitud

NombreTipoDescripción
auth*StringToken de acceso a la API desde el Panel de Control de Pushwoosh.
task_id*StringIdentificador recibido en su respuesta de /exportSegment.
{
"devicesCount": "24735",
"filename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

Pase el “task_id” recibido en su respuesta de /exportSegment en el cuerpo de la solicitud de /exportSegment/result.

En la respuesta de /exportSegment/result, recibirá el parámetro “filename”. Siga el enlace proporcionado en el valor de ese parámetro para descargar automáticamente un archivo ZIP. Descomprima el archivo para recuperar el archivo CSV o JSON (dependiendo del “formato” especificado en su solicitud) que contiene los datos de los dispositivos.

A partir del 3 de abril de 2025, se requerirá autorización para descargar el archivo:

  • Si descarga a través de un navegador, simplemente inicie sesión en el Panel de Control de Pushwoosh para obtener acceso.
  • Si descarga a través de software de servidor, incluya la siguiente cabecera en su solicitud: Authorization: Token YOUR_API_TOKEN

Si especifica el “exportData” en su solicitud de /exportSegment, el archivo descargado contendrá solo los datos solicitados. Por defecto, el archivo contiene los siguientes datos de usuario:

CampoDescripciónEjemplo de valor
HwidID de hardware de un dispositivo01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDID de Usuario que asocia un dispositivo con un usuario en particular. Si no se asigna un ID de Usuario, se utiliza el HWID.user8192
Push TokenIdentificador único asignado a un dispositivo por las pasarelas de mensajería en la nube. Más informacióneeeb2fd7…0fc3547
TypeTipo de plataforma (entero).1
Type (humanized)Tipo de plataforma (cadena).iOS
AgeValor de la etiqueta de Edad por defecto.29
ApplicationVersionValor de la etiqueta de Versión de la Aplicación por defecto.1.12.0.0
CityValor de la etiqueta de Ciudad por defecto.us, boston
TagNameValor de una etiqueta creada en su cuenta.TagValue