Pular para o conteúdo

API de Segmentação (Filtros)

createFilter

Anchor link to

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

Cria um novo filtro.

Corpo da solicitação

NomeObrigatórioTipoDescrição
auth*SimstringToken de acesso à API do Painel de Controle da Pushwoosh.
name*SimstringNome do filtro.
filter_expression*Simstring

Expressão construída de acordo com as regras da linguagem de Segmentação.
Exemplo: T(“City”, eq, “Madrid”) para segmentar usuários cuja cidade é Madrid.

applicationNãostringCódigo do aplicativo Pushwoosh. Este parâmetro é utilizável apenas com a Configuração de Alta Velocidade; omita caso contrário.
expiration_dateNãostringExpiração do filtro. O filtro será excluído automaticamente na data especificada, a menos que seja usado em uma Predefinição ou em um Feed RSS.

200

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

Exemplo

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// criando Filtros para Fusos Horários
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // token de acesso à API do Painel de Controle da 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

Retorna uma lista de segmentos (filtros) disponíveis com suas condições.

Corpo da Solicitação

NomeObrigatórioTipoDescrição
auth*SimstringToken de acesso à API do Painel de Controle da Pushwoosh.
application*SimstringCódigo do aplicativo 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"
}]
}
}

Exemplo

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

deleteFilter

Anchor link to

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

Exclui um filtro existente.

Corpo da Solicitação

NomeTipoDescrição
auth*stringToken de acesso à API do Painel de Controle da Pushwoosh.
name*stringNome do filtro.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemplo
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // token de acesso à API do Painel de Controle da Pushwoosh
"name": "filter name"
}
}

exportSegment

Anchor link to

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

Uma solicitação agendada. Exporta a lista de assinantes que se enquadram nas condições de Filtro especificadas.

Corpo da solicitação

Nome
Obrigatório
TipoDescrição
auth*SimstringToken de acesso à API do Painel de Controle da Pushwoosh.
filterExpression*SimstringCondições do filtro
exportDataNãoarrayDados para exportar. Valores possíveis: "hwids", "push_tokens", "users", "tags", "location", "ad_identifiers". Incluir "location" adiciona as colunas Latitude e Longitude ao CSV exportado. Se exportData for omitido, Latitude e Longitude são incluídos na exportação por padrão. "ad_identifiers" adiciona as colunas MADID, Email SHA256 e Phone SHA256 para construir um arquivo de origem do Google Customer Match ou Meta Custom Audience — veja a nota exportação de identificadores de anúncio abaixo.
filterCodeNãostringCódigo de filtro pré-fabricado, pode ser usado em vez de filterExpression. Pode ser obtido na API /listFilters ou na barra de endereço do seu navegador ao visualizar o filtro no Painel de Controle.
applicationCodeObrigatório se você estiver usando filterExpression ou filterCode.stringCódigo do aplicativo Pushwoosh
generateExportNãobooleanPor padrão, definido como true, e uma resposta contém um link para baixar o arquivo. Se for false, apenas a contagem de dispositivos será enviada na resposta.
formatNãostringDefine o formato do arquivo exportado: “csv” ou “json_each_line”. Se omitido, o arquivo CSV é gerado.
tagsListNãoarrayEspecifica as tags a serem exportadas. Para obter apenas as tags específicas, o array “exportData” deve conter o valor “tags”.
includeWithoutTokensNãobooleanDefina como true para incluir usuários sem tokens de push no arquivo exportado. O padrão é false.
{
"task_id": "177458"
}
Exemplo
{
"auth": "yxoPUlwqm…………pIyEX4H", // obrigatório. Token de acesso à API do Painel de Controle da Pushwoosh
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // condições do filtro, consulte o guia da Linguagem de Segmentação para a sintaxe
"filterCode": "12345-67890", // código de filtro pré-fabricado, pode ser usado em vez de filterExpression
"applicationCode": "00000-AAAAA", // Obrigatório se você estiver usando `filterExpression` ou `filterCode`. Código do aplicativo Pushwoosh. Pode ser obtido na solicitação da API /listFilters ou na barra de endereço do seu navegador ao visualizar o filtro no Painel de Controle.
"generateExport": true, // se for false, apenas a contagem de dispositivos será enviada na resposta; por padrão, uma resposta contém um link para baixar o arquivo CSV
"format": "json_each_line", // formato do arquivo para apresentar os dados: "csv" – o arquivo .csv é baixado; "json" – um arquivo JSON com todos os dispositivos exportados; ou "json_each_line" – uma linha JSON para cada dispositivo. Se não especificado, CSV é o formato padrão.
"exportData": ["hwids", "tags"], // opcional. Dados para exportar. Valores possíveis: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys", "ad_identifiers"
"tagsList": ["Name", "Level"], // opcional. Especifica as tags a serem exportadas. Para obter apenas as tags específicas, o valor "tags" deve ser enviado dentro do array "exportData" ou o "exportData" deve estar vazio.
"includeWithoutTokens": true // opcional. Defina como true para incluir usuários sem tokens de push no arquivo exportado. O padrão é false.
}

Por exemplo, para exportar todos os assinantes de um aplicativo específico, use as seguintes condições de Filtro:

{
"auth": "yxoPUlwqm…………pIyEX4H", // Token de acesso à API do Painel de Controle da Pushwoosh
"filterExpression": "A(\"AAAAA-BBBBB\")", // Expressão de filtro referenciando o segmento do aplicativo
"applicationCode": "AAAAA-BBBBB" // Código do aplicativo Pushwoosh obrigatório
}

resultados de exportSegment

Anchor link to

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

Recupera o link para o CSV com os resultados de /exportSegment.

Corpo da Solicitação

NomeTipoDescrição
auth*StringToken de acesso à API do Painel de Controle da Pushwoosh.
task_id*StringIdentificador recebido na sua resposta /exportSegment.
{
"devicesCount": "24735",
"filename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

Passe o “task_id” recebido na sua resposta /exportSegment no corpo da solicitação /exportSegment/result.

Na resposta /exportSegment/result, você receberá o parâmetro “filename”. Siga o link fornecido no valor desse parâmetro para baixar automaticamente um arquivo ZIP. Descompacte o arquivo para recuperar o arquivo CSV ou JSON (dependendo do “formato” especificado em sua solicitação) contendo os dados dos dispositivos.

A partir de 3 de abril de 2025, a autorização será necessária para baixar o arquivo:

  • Se estiver baixando por um navegador, basta fazer login no Painel de Controle da Pushwoosh para obter acesso.
  • Se estiver baixando por um software de servidor, inclua o seguinte cabeçalho em sua solicitação: Authorization: Token SEU_TOKEN_DE_API

Se você especificar o “exportData” em sua solicitação /exportSegment, o arquivo baixado conterá apenas os dados solicitados. Por padrão, o arquivo contém os seguintes dados do usuário:

CampoDescriçãoExemplo de valor
HwidID de Hardware de um dispositivo01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDID de Usuário associando um dispositivo a um usuário específico. Se nenhum ID de Usuário for atribuído, o HWID é usado.user8192
Push TokenIdentificador único atribuído a um dispositivo por gateways de mensagens na nuvem. Saiba maiseeeb2fd7…0fc3547
TypeTipo de plataforma (inteiro).1
Type (humanized)Tipo de plataforma (string).iOS
AgeValor da tag padrão Idade.29
ApplicationVersionValor da tag padrão Versão do Aplicativo.1.12.0.0
CityValor da tag padrão Cidade.us, boston
TagNameValor de uma tag criada em sua conta.TagValue

Exportação de identificadores de anúncio

Anchor link to

Adicione "ad_identifiers" a exportData para obter um arquivo formatado para upload direto como uma fonte do Google Customer Match ou Meta Custom Audience. Este valor é opcional — nunca é incluído por padrão, mesmo quando exportData é omitido. Ele só tem efeito com format definido como "csv". Solicitá-lo com "json" ou "json_each_line" não retorna um erro, mas as colunas abaixo são omitidas silenciosamente desses formatos.

CampoDescrição
MADIDID de publicidade móvel (GAID ou IDFA), normalizado para minúsculas.
Email SHA256Hash SHA-256 do e-mail do usuário, em minúsculas e sem espaços antes do hashing.
Phone SHA256Hash SHA-256 do número de telefone do usuário no formato E.164 antes do hashing.

Uma linha para um usuário sem nenhum dos três identificadores ainda é exportada, com as colunas MADID, Email SHA256 e Phone SHA256 deixadas em branco.

Exportar atividade de aplicativo por usuário

Anchor link to

PW_ApplicationOpen é apenas para dispositivos móveis. Para um projeto web, a exportação de segmento não retorna linhas, pois o evento nunca é disparado lá.

  1. Construa uma expressão de filtro no evento PW_ApplicationOpen, com escopo para o período que você precisa. Use os operadores de data do evento, por exemplo, “aberto ontem”:
Event("AAAAA-BBBBB", "PW_ApplicationOpen", date daysago eq 1)
  1. Chame /exportSegment com essa filterExpression, applicationCode e exportData: ["hwids", "users"].
  2. Chame /exportSegment/result com o task_id retornado para baixar o CSV com as colunas Hwid e User ID para cada dispositivo que abriu o aplicativo nessa janela.