Zum Inhalt springen

Segmentierungs (Filter) API

createFilter

Anchor link to

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

Erstellt einen neuen Filter.

Anforderungskörper

NameErforderlichTypBeschreibung
auth*JastringAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
name*JastringFiltername.
filter_expression*Jastring

Ausdruck, der gemäß den Regeln der Segmentierungssprache erstellt wurde.
Beispiel: T(“City”, eq, “Madrid”), um Benutzer zu segmentieren, deren Stadt Madrid ist.

applicationNeinstringPushwoosh-Anwendungscode. Dieser Parameter ist nur mit High-Speed Setup verwendbar; andernfalls weglassen.
expiration_dateNeinstringAblaufdatum des Filters. Der Filter wird an einem bestimmten Datum automatisch gelöscht, es sei denn, er wird in einem Preset oder einem RSS-Feed verwendet.

200

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

Beispiel

{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H",
"name": "City = Madrid",
"filter_expression": "T(\"City\", eq, \"Madrid\")",
"application": "B18XX-XXXXX",
"expiration_date": "2025-01-01"
}
}
// Erstellen von Filtern für Zeitzonen
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API-Zugriffstoken aus dem Pushwoosh Control Panel
"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

Gibt eine Liste der verfügbaren Segmente (Filter) mit ihren Bedingungen zurück.

Anforderungskörper

NameErforderlichTypBeschreibung
auth*JastringAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
application*JastringPushwoosh-Anwendungscode

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

Beispiel

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

deleteFilter

Anchor link to

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

Löscht einen vorhandenen Filter.

Anforderungskörper

NameTypBeschreibung
auth*stringAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
name*stringFiltername.
{
"status_code": 200,
"status_message": "OK",
"response": null
}
Beispiel
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // API-Zugriffstoken aus dem Pushwoosh Control Panel
"name": "filter name"
}
}

exportSegment

Anchor link to

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

Eine geplante Anfrage. Exportiert die Liste der Abonnenten, die unter die angegebenen Filterbedingungen fallen.

Anforderungskörper

Name
Erforderlich
TypBeschreibung
auth*JastringAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
filterExpression*JastringFilterbedingungen
exportDataNeinarrayZu exportierende Daten. Mögliche Werte: "hwids", "push_tokens", "users", "tags", "location", "ad_identifiers". Das Einschließen von "location" fügt die Spalten Latitude und Longitude zur exportierten CSV-Datei hinzu. Wenn exportData weggelassen wird, sind Latitude und Longitude standardmäßig im Export enthalten. "ad_identifiers" fügt die Spalten MADID, Email SHA256 und Phone SHA256 hinzu, um eine Quelldatei für Google Customer Match oder Meta Custom Audience zu erstellen – siehe den Hinweis zum Export von Werbekennungen unten.
filterCodeNeinstringVorgefertigter Filtercode, kann anstelle von filterExpression verwendet werden. Kann von der /listFilters-API oder der Adressleiste Ihres Browsers bezogen werden, wenn Sie den Filter im Control Panel anzeigen.
applicationCodeErforderlich, wenn Sie entweder filterExpression oder filterCode verwenden.stringPushwoosh-Anwendungscode
generateExportNeinbooleanStandardmäßig auf true gesetzt, und eine Antwort enthält einen Link zum Herunterladen der Datei. Wenn false, wird nur die Anzahl der Geräte in der Antwort gesendet.
formatNeinstringLegt das Format der exportierten Datei fest: „csv“ oder „json_each_line“. Wenn weggelassen, wird die CSV-Datei generiert.
tagsListNeinarrayGibt die zu exportierenden Tags an. Um nur die spezifischen Tags zu erhalten, sollte das „exportData“-Array den Wert „tags“ enthalten.
includeWithoutTokensNeinbooleanAuf true setzen, um Benutzer ohne Push-Token in die exportierte Datei aufzunehmen. Standard ist false.
{
"task_id": "177458"
}
Beispiel
{
"auth": "yxoPUlwqm…………pIyEX4H", // erforderlich. API-Zugriffstoken aus dem Pushwoosh Control Panel
"filterExpression": "AT(\"12345-67890\", \"Name\", any)", // Filterbedingungen, siehe die Anleitung zur Segmentierungssprache für die Syntax
"filterCode": "12345-67890", // vorgefertigter Filtercode, kann anstelle von filterExpression verwendet werden
"applicationCode": "00000-AAAAA", // Erforderlich, wenn Sie entweder filterExpression oder filterCode verwenden. Pushwoosh-App-Code. Kann von der /listFilters-API-Anfrage oder der Adressleiste Ihres Browsers bezogen werden, wenn Sie den Filter im Control Panel anzeigen.
"generateExport": true, // wenn false, wird nur die Geräteanzahl in der Antwort gesendet; standardmäßig enthält eine Antwort einen Link zum Herunterladen der CSV-Datei
"format": "json_each_line", // Format der Datei, in der die Daten dargestellt werden sollen: „csv“ – die .csv-Datei wird heruntergeladen; „json“ – eine JSON-Datei mit allen exportierten Geräten; oder „json_each_line“ – eine JSON-Zeile für jedes Gerät. Wenn nicht angegeben, ist CSV das Standardformat.
"exportData": ["hwids", "tags"], // optional. Zu exportierende Daten. Mögliche Werte: "hwids", "push_tokens", "users", "tags", "location", "fcm_keys", "web keys", "ad_identifiers"
"tagsList": ["Name", "Level"], // optional. Gibt die zu exportierenden Tags an. Um nur die spezifischen Tags zu erhalten, sollte der Wert „tags“ im „exportData“-Array gesendet werden oder „exportData“ leer sein.
"includeWithoutTokens": true // optional. Auf true setzen, um Benutzer ohne Push-Token in die exportierte Datei aufzunehmen. Standard ist false.
}

Um beispielsweise alle Abonnenten einer bestimmten App zu exportieren, verwenden Sie die folgenden Filterbedingungen:

{
"auth": "yxoPUlwqm…………pIyEX4H", // API-Zugriffstoken aus dem Pushwoosh Control Panel
"filterExpression": "A(\"AAAAA-BBBBB\")", // Filterausdruck, der auf das App-Segment verweist
"applicationCode": "AAAAA-BBBBB" // Erforderlicher Pushwoosh-App-Code
}

exportSegment-Ergebnisse

Anchor link to

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

Ruft den Link zur CSV-Datei mit den /exportSegment-Ergebnissen ab.

Anforderungskörper

NameTypBeschreibung
auth*StringAPI-Zugriffstoken aus dem Pushwoosh Control Panel.
task_id*StringKennung, die Sie in Ihrer /exportSegment-Antwort erhalten haben.
{
"devicesCount": "24735",
"filename": "https://static.pushwoosh.com/segment-export/export_segment_XXXXX_XXXXX_xxxxxxxxxxxxxxxxx.csv.zip",
"status": "completed"
}

Übergeben Sie die in Ihrer /exportSegment-Antwort erhaltene „task_id“ im Anforderungskörper von /exportSegment/result.

In der /exportSegment/result-Antwort erhalten Sie den Parameter „filename“. Folgen Sie dem in diesem Parameterwert angegebenen Link, um automatisch ein ZIP-Archiv herunterzuladen. Entpacken Sie das Archiv, um die CSV- oder JSON-Datei (abhängig vom in Ihrer Anfrage angegebenen „format“) mit den Gerätedaten zu erhalten.

Ab dem 3. April 2025 ist eine Autorisierung zum Herunterladen der Datei erforderlich:

  • Wenn Sie über einen Browser herunterladen, melden Sie sich einfach im Pushwoosh Control Panel an, um Zugriff zu erhalten.
  • Wenn Sie über Server-Software herunterladen, fügen Sie den folgenden Header in Ihre Anfrage ein: Authorization: Token YOUR_API_TOKEN

Wenn Sie „exportData“ in Ihrer /exportSegment-Anfrage angeben, enthält die heruntergeladene Datei nur die angeforderten Daten. Standardmäßig enthält die Datei die folgenden Benutzerdaten:

FeldBeschreibungBeispielwert
HwidHardware-ID eines Geräts01D1BA5C-AAAA-0000-BBBB-9B81CD5823C8
User IDUser ID, die ein Gerät einem bestimmten Benutzer zuordnet. Wenn keine User ID zugewiesen ist, wird die HWID verwendet.user8192
Push TokenEindeutige Kennung, die einem Gerät von Cloud-Messaging-Gateways zugewiesen wird. Mehr erfahreneeeb2fd7…0fc3547
TypePlattformtyp (Ganzzahl).1
Type (humanized)Plattformtyp (Zeichenkette).iOS
AgeWert des Standard-Tags Alter.29
ApplicationVersionWert des Standard-Tags Anwendungsversion.1.12.0.0
CityWert des Standard-Tags Stadt.us, boston
TagNameWert eines in Ihrem Konto erstellten Tags.TagValue

Export von Werbekennungen

Anchor link to

Fügen Sie „ad_identifiers“ zu exportData hinzu, um eine Datei zu erhalten, die für das direkte Hochladen als Google Customer Match- oder Meta Custom Audience-Quelle formatiert ist. Dieser Wert ist nur optional – er ist niemals standardmäßig enthalten, auch wenn exportData weggelassen wird. Er wirkt sich nur aus, wenn format auf „csv“ gesetzt ist. Eine Anforderung mit „json“ oder „json_each_line“ gibt keinen Fehler zurück, aber die folgenden Spalten werden in diesen Formaten stillschweigend weggelassen.

FeldBeschreibung
MADIDMobile Werbe-ID (GAID oder IDFA), normalisiert in Kleinbuchstaben.
Email SHA256SHA-256-Hash der E-Mail des Benutzers, vor dem Hashing in Kleinbuchstaben umgewandelt und gekürzt.
Phone SHA256SHA-256-Hash der Telefonnummer des Benutzers im E.164-Format vor dem Hashing.

Eine Zeile für einen Benutzer ohne eine der drei Kennungen wird dennoch exportiert, wobei die Spalten MADID, Email SHA256 und Phone SHA256 leer bleiben.

App-Aktivität pro Benutzer exportieren

Anchor link to

PW_ApplicationOpen ist nur für Mobilgeräte. Bei einem Webprojekt gibt der Segmentexport keine Zeilen zurück, da das Ereignis dort nie ausgelöst wird.

  1. Erstellen Sie einen Filterausdruck für das PW_ApplicationOpen-Ereignis, der auf den von Ihnen benötigten Zeitraum beschränkt ist. Verwenden Sie die Ereignisdatumsoperatoren, zum Beispiel „gestern geöffnet“:
Event("AAAAA-BBBBB", "PW_ApplicationOpen", date daysago eq 1)
  1. Rufen Sie /exportSegment mit diesem filterExpression, applicationCode und exportData: ["hwids", "users"] auf.
  2. Rufen Sie /exportSegment/result mit der zurückgegebenen task_id auf, um die CSV-Datei mit den Spalten Hwid und User ID für jedes Gerät herunterzuladen, das die App in diesem Zeitraum geöffnet hat.