Passer au contenu

API de Segmentation (Filtres)

createFilter

Anchor link to

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

Crée un nouveau filtre.

Corps de la requête

NomRequisTypeDescription
auth*OuistringJeton d’accès API depuis le Control Panel de Pushwoosh.
name*OuistringNom du filtre.
filter_expression*Ouistring

Expression construite selon les règles du langage de segmentation.
Exemple : T(“City”, eq, “Madrid”) pour segmenter les utilisateurs dont la ville est Madrid.

applicationNonstringCode d’application Pushwoosh. Ce paramètre n’est utilisable qu’avec la configuration High-Speed ; omettez-le sinon.
expiration_dateNonstringExpiration du filtre. Le filtre sera automatiquement supprimé à la date spécifiée, sauf s’il est utilisé dans un Preset ou un flux RSS.

200

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

Exemple

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// création de filtres pour les fuseaux horaires
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // Jeton d'accès API depuis le Control Panel 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

Retourne une liste des segments (filtres) disponibles avec leurs conditions.

Corps de la requête

NomRequisTypeDescription
auth*OuistringJeton d’accès API depuis le Control Panel de Pushwoosh.
application*OuistringCode d’application 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"
}]
}
}

Exemple

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

deleteFilter

Anchor link to

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

Supprime un filtre existant.

Corps de la requête

NomTypeDescription
auth*stringJeton d’accès API depuis le Control Panel de Pushwoosh.
name*stringNom du filtre.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Exemple
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // Jeton d'accès API depuis le Control Panel de Pushwoosh
"name": "filter name"
}
}

exportSegment

Anchor link to

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

Une requête planifiée. Exporte la liste des abonnés qui correspondent aux conditions de filtre spécifiées.

Corps de la requête

Nom
Requis
TypeDescription
auth*OuistringJeton d’accès API depuis le Control Panel de Pushwoosh.
filterExpression*OuistringConditions du filtre
exportDataNonarrayDonnées à exporter. Valeurs possibles : "hwids", "push_tokens", "users", "tags", "location". L’inclusion de "location" ajoute les colonnes Latitude et Longitude au CSV exporté. Si exportData est omis, Latitude et Longitude sont incluses dans l’exportation par défaut.
filterCodeNonstringCode de filtre prédéfini, peut être utilisé à la place de filterExpression. Peut être obtenu depuis l’API /listFilters ou la barre d’adresse de votre navigateur lors de la visualisation du filtre dans le Control Panel.
applicationCodeRequis si vous utilisez filterExpression ou filterCode.stringCode d’application Pushwoosh.
generateExportNonbooleanPar défaut, défini sur true, et une réponse contient un lien pour télécharger le fichier. Si false, seul le nombre d’appareils sera envoyé dans la réponse.
formatNonstringDéfinit le format du fichier exporté : “csv” ou “json_each_line”. Si omis, le fichier CSV est généré.
tagsListNonarraySpécifie les tags à exporter. Pour n’obtenir que les tags spécifiques, le tableau “exportData” doit contenir la valeur “tags”.
includeWithoutTokensNonbooleanDéfinir sur true pour inclure les utilisateurs sans jetons push dans le fichier exporté. La valeur par défaut est false.
{
"task_id": "177458"
}
Exemple
{
"auth": "yxoPUlwqm…………pIyEX4H", // requis. Jeton d'accès API depuis le Control Panel de Pushwoosh
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // conditions du filtre, consultez le guide du langage de segmentation pour la syntaxe
"filterCode": "12345-67890", // code de filtre prédéfini, peut être utilisé à la place de filterExpression
"applicationCode": "00000-AAAAA", // Requis si vous utilisez filterExpression ou filterCode. Code d'application Pushwoosh. Peut être obtenu depuis la requête API /listFilters ou la barre d'adresse de votre navigateur lors de la visualisation du filtre dans le Control Panel.
"generateExport": true, // si false, seul le nombre d'appareils sera envoyé dans la réponse ; par défaut, une réponse contient un lien pour télécharger le fichier CSV
"format": "json_each_line", // format du fichier pour présenter les données : "csv" – le fichier .csv est téléchargé ; "json" – un fichier JSON avec tous les appareils exportés ; ou "json_each_line" – une ligne JSON pour chaque appareil. Si non spécifié, CSV est le format par défaut.
"exportData": ["hwids", "tags"], // optionnel. Données à exporter. Valeurs possibles : "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys"
"tagsList": ["Name", "Level"], // optionnel. Spécifie les tags à exporter. Pour n'obtenir que les tags spécifiques, la valeur "tags" doit être envoyée dans le tableau "exportData" ou le "exportData" doit être vide.
"includeWithoutTokens": true // optionnel. Définir sur true pour inclure les utilisateurs sans jetons push dans le fichier exporté. La valeur par défaut est false.
}

Par exemple, pour exporter tous les abonnés d’une application particulière, utilisez les conditions de filtre suivantes :

{
"auth": "yxoPUlwqm…………pIyEX4H", // Jeton d'accès API depuis le Control Panel de Pushwoosh
"filterExpression": "A(\"AAAAA-BBBBB\")", // Expression de filtre référençant le segment d'application
"applicationCode": "AAAAA-BBBBB" // Code d'application Pushwoosh requis
}

résultats de exportSegment

Anchor link to

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

Récupère le lien vers le CSV avec les résultats de /exportSegment.

Corps de la requête

NomTypeDescription
auth*StringJeton d’accès API depuis le Control Panel de Pushwoosh.
task_id*StringIdentifiant reçu dans votre réponse /exportSegment.
{
"devicesCount": "24735",
"csvFilename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

Passez le “task_id” reçu dans votre réponse /exportSegment dans le corps de la requête /exportSegment/result.

Dans la réponse /exportSegment/result, vous recevrez le paramètre “filename”. Suivez le lien fourni dans la valeur de ce paramètre pour télécharger automatiquement une archive ZIP. Décompressez l’archive pour récupérer le fichier CSV ou JSON (selon le “format” spécifié dans votre requête) contenant les données des appareils.

À partir du 3 avril 2025, une autorisation sera requise pour télécharger le fichier :

  • Si vous téléchargez via un navigateur, connectez-vous simplement au Control Panel de Pushwoosh pour obtenir l’accès.
  • Si vous téléchargez via un logiciel serveur, incluez l’en-tête suivant dans votre requête : Authorization: Token VOTRE_JETON_API

Si vous spécifiez “exportData” dans votre requête /exportSegment, le fichier téléchargé ne contiendra que les données demandées. Par défaut, le fichier contient les données utilisateur suivantes :

ChampDescriptionExemple de valeur
HwidID matériel d’un appareil (Hardware ID)01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDID utilisateur associant un appareil à un utilisateur particulier. Si aucun ID utilisateur n’est assigné, le HWID est utilisé.user8192
Push TokenIdentifiant unique assigné à un appareil par les passerelles de messagerie cloud. En savoir pluseeeb2fd7…0fc3547
TypeType de plateforme (entier).1
Type (humanized)Type de plateforme (chaîne de caractères).iOS
AgeValeur du tag par défaut Age.29
ApplicationVersionValeur du tag par défaut Application Version.1.12.0.0
CityValeur du tag par défaut City.us, boston
TagNameValeur d’un tag créé dans votre compte.TagValue