Asynchroner Export von Nachrichtenstatistiken
exportMessagesStatistics exportiert den Nachrichtenverlauf und die Statistiken in eine CSV-Datei auf dem Server. Verwenden Sie es für große oder vollständige Kontoabrufe, die messages:list nicht verarbeiten kann.
Wann sollte der Export anstelle von messages:list verwendet werden?
Anchor link toVerwenden Sie messages:list für Live-, paginierte Abfragen eines begrenzten Zeitraums. Verwenden Sie exportMessagesStatistics, wenn das Ergebnis das Tiefenpaginierungslimit von messages:list (page × per_page > 100000) überschreiten würde oder wenn das Ziel eine einzelne herunterladbare Datei anstelle von paginiertem JSON ist. Der Export hat keine Begrenzung für date_range oder die Zeilenanzahl, da er das Ergebnis in eine Datei auf der Festplatte streamt, anstatt es in einer einzigen Antwort zu halten.
Wie der Exportablauf funktioniert
Anchor link to- Rufen Sie
exportmit denselben Filtern wiemessages:listauf. Die Antwort gibt sofort eine Aufgabenkennunguidzurück, bevor die Datei generiert wird. - Fragen Sie
statusmit dieseruidab, bisSTATUS_SUCCESS(oderSTATUS_FAILED) gemeldet wird. - Rufen Sie
resultmit derselbenuidauf, um die generiertefileund eine gebrauchsfertigefile_urlzu erhalten. - Laden Sie die Datei herunter. Verwenden Sie
file_urlunverändert oder sehen Sie unterresultnach, wie die URL ausfileerstellt wird, falls sie leer zurückgegeben wurde.
Verwenden Sie lastTasks, um die letzten Exportaufgaben für eine Anwendung nachzuschlagen, und delete, um eine Aufgabe abzubrechen oder ihre Datei vorzeitig zu entfernen.
Methoden
Anchor link toDer Export-Lebenszyklus hat fünf Methoden sowie einen einfachen Download-Endpunkt:
| Methode | Beschreibung |
|---|---|
exportMessagesStatistics/export | Stellt einen Export in die Warteschlange und gibt eine Aufgaben-uid zurück. |
exportMessagesStatistics/status | Überprüft den Aufgabenfortschritt. |
exportMessagesStatistics/result | Gibt den Namen der generierten Datei zurück, sobald die Aufgabe abgeschlossen ist. |
exportMessagesStatistics/lastTasks | Listet die letzten Exportaufgaben für eine Anwendung auf. |
exportMessagesStatistics/delete | Bricht eine Aufgabe ab oder entfernt ihre Datei, bevor das Aufbewahrungsfenster abläuft. |
| Download | Lädt die generierte CSV-Datei nach Namen herunter. |
export
Anchor link toStellt einen Export des Nachrichtenverlaufs in die Warteschlange und gibt sofort eine Aufgabenkennung zurück.
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/export
Header
Anchor link toDie Anfrage benötigt einen Server-API-Token:
| Name | Erforderlich | Beschreibung |
|---|---|---|
Authorization | Ja | Server-API-Token. Muss im folgenden Format bereitgestellt werden: Authorization: Api <Server Key>. |
Parameter des Anfragekörpers
Anchor link toDer Anfragekörper akzeptiert die folgenden Felder:
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
type | Ja | String | Muss “TASK_TYPE_EXPORT sein. |
export_messages | Ja | Object | Exportparameter, unten beschrieben. |
export_messages | Siehe Hinweis | String | Pushwoosh-Anwendungscode. Erforderlich, wenn app_group_code nicht gesetzt ist. |
export_messages | Siehe Hinweis | String | Anwendungsgruppencode, exportiert über jede App in der Gruppe. Erforderlich, wenn application_code nicht gesetzt ist. |
export_messages | Nein | String | Freitextsuche über Nachrichtentitel und -inhalt. |
export_messages | Nein | Object | Nachrichtenfilter, unten beschrieben. Weglassen, um den gesamten Kontoverlauf zu exportieren. |
export_messages | Nein | Array | Spalten, die in die CSV-Datei aufgenommen werden sollen, unten beschrieben. |
export_messages_v2.filters akzeptiert:
| Name | Typ | Beschreibung |
|---|---|---|
statuses | Array | Einzuschließende Nachrichtenstatus. Mögliche Werte
|
platforms | Array | Plattformcodes (numerisch, z. B. 1 für iOS), nicht die von messages:list verwendeten Plattformnamen-Strings. |
sent_date | Object | Berichtszeitraum, gefiltert nach Sendedatum: {"date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD"}. |
created_date | Object | Berichtszeitraum, gefiltert nach Erstellungsdatum der Nachricht, gleiches Format wie sent_date. |
created_via | Array | Nachrichtenquelle. Mögliche Werte
|
segments | Array | Filtercodes, an die die Nachricht gesendet wurde. |
campaigns | Array | Kampagnencodes. Im Gegensatz zu messages:list wird hier eine Liste und nicht ein einzelner Code verwendet. |
message_id | String (uint64) | Eine einzelne numerische Nachrichten-ID, in Anführungszeichen. Im Gegensatz zu messages:list nimmt der Export eine ID, nicht ein Array. |
message_code | String | Ein einzelner Nachrichtencode. |
export_messages_v2.properties wählt aus, welche Spalten die CSV-Datei enthält.
Mögliche Werte
"EXPORT_MESSAGE_PROPERTY_ID""EXPORT_MESSAGE_PROPERTY_TIMESTAMP""EXPORT_MESSAGE_PROPERTY_CONTENT""EXPORT_MESSAGE_PROPERTY_TITLE""EXPORT_MESSAGE_PROPERTY_APPLICATIONS""EXPORT_MESSAGE_PROPERTY_STATUS""EXPORT_MESSAGE_PROPERTY_PLATFORMS""EXPORT_MESSAGE_PROPERTY_SOURCE""EXPORT_MESSAGE_PROPERTY_FILTER""EXPORT_MESSAGE_PROPERTY_SUBSCRIPTION_SEGMENTS""EXPORT_MESSAGE_PROPERTY_SENT""EXPORT_MESSAGE_PROPERTY_OPENED""EXPORT_MESSAGE_PROPERTY_ERRORS""EXPORT_MESSAGE_PROPERTY_RECIPIENTS""EXPORT_MESSAGE_PROPERTY_DELIVERED""EXPORT_MESSAGE_PROPERTY_TOTAL_DELIVERED""EXPORT_MESSAGE_PROPERTY_TOTAL_OPENED""EXPORT_MESSAGE_PROPERTY_TOTAL_CLICKS""EXPORT_MESSAGE_PROPERTY_CLICKS""EXPORT_MESSAGE_PROPERTY_UNSUBSCRIBED"
Beispielanfrage
Anchor link to{ "type": "TASK_TYPE_EXPORT_MESSAGES_V2", "export_messages_v2": { "application_code": "XXXXX-XXXXX", "filters": { "created_date": { "date_from": "2026-01-01", "date_to": "2026-06-30" }, "statuses": ["MESSAGE_STATUS_DONE"], "platforms": [1, 3] }, "properties": [ "EXPORT_MESSAGE_PROPERTY_ID", "EXPORT_MESSAGE_PROPERTY_TIMESTAMP", "EXPORT_MESSAGE_PROPERTY_STATUS", "EXPORT_MESSAGE_PROPERTY_PLATFORMS", "EXPORT_MESSAGE_PROPERTY_SENT", "EXPORT_MESSAGE_PROPERTY_OPENED" ] }}{ "uid": "177458"}{ "error": "account not found"}status
Anchor link toGibt den Fortschritt einer Exportaufgabe zurück.
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/status
Parameter des Anfragekörpers
Anchor link toÜbergeben Sie die von export zurückgegebene Aufgabenkennung:
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
uid | Ja | String (int64) | Aufgabenkennung aus der export-Antwort, z. B. "177458". |
Beispielanfrage
Anchor link to{ "uid": "177458"}{ "status": "STATUS_SUCCESS", "progress": 1}status ist einer von "STATUS_PENDING", "STATUS_SUCCESS" oder "STATUS_FAILED". progress ist ein Bruchteil zwischen 0 und 1; fragen Sie status ab, bis es "STATUS_SUCCESS" erreicht, bevor Sie result aufrufen.
result
Anchor link toGibt den Namen der generierten Datei zurück, sobald die Aufgabe abgeschlossen ist.
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/result
Parameter des Anfragekörpers
Anchor link toÜbergeben Sie dieselbe von export zurückgegebene Aufgabenkennung:
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
uid | Ja | String (int64) | Aufgabenkennung aus der export-Antwort, z. B. "177458". |
Beispielanfrage
Anchor link to{ "uid": "177458"}{ "export_messages_v2_result": { "file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv", "file_url": "https://app.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv" }}Der Aufruf von result, bevor status "STATUS_SUCCESS" meldet, gibt ein leeres Ergebnis zurück. file_url ist ein gebrauchsfertiger Link zum Download-Endpunkt auf dem korrekten Rechenzentrum für das Konto – verwenden Sie ihn unverändert, anstatt die URL selbst aus file zu erstellen. file_url ist leer, wenn für das Rechenzentrum des Kontos keine Basis-URL konfiguriert ist. In diesem Fall können Sie nur auf das Erstellen der URL aus file zurückgreifen, wenn sich das Konto im Standard-Rechenzentrum app.pushwoosh.com befindet – ein Konto in einem anderen Rechenzentrum oder auf einer Whitelabel-Domain hat keine Möglichkeit, den korrekten Host allein aus file abzuleiten.
lastTasks
Anchor link toListet die letzten Exportaufgaben für eine Anwendung auf, die neuesten zuerst.
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/lastTasks
Parameter des Anfragekörpers
Anchor link toJeder Parameter ist ein optionaler Filter; lassen Sie alle weg, um jede Aufgabe aufzulisten, auf die der Token Zugriff hat:
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
application | Nein | String | Pushwoosh-Anwendungscode. Weglassen, um Aufgaben für alle Anwendungen aufzulisten, auf die der Token Zugriff hat. |
types | Nein | Array | Auf bestimmte Aufgabentypen beschränken. Verwenden Sie [“TASK_TYPE_EXPORT, um nur Nachrichtenexporte anzuzeigen. |
campaign | Nein | String | Nach Kampagnencode filtern. |
message_id | Nein | String (uint64) | Nach einer einzelnen numerischen Nachrichten-ID filtern, in Anführungszeichen. |
message_code | Nein | String | Nach einem einzelnen Nachrichtencode filtern. |
limit | Nein | Integer | Maximale Anzahl der zurückzugebenden Aufgaben. |
timestamp_from | Nein | String | Nur Aufgaben zurückgeben, die nach diesem Zeitstempel (RFC 3339) erstellt wurden. |
Beispielanfrage
Anchor link to{ "application": "XXXXX-XXXXX", "types": ["TASK_TYPE_EXPORT_MESSAGES_V2"], "limit": 10}{ "tasks": [ { "id": "177458", "timestamp": "2026-08-13T12:00:00Z", "status": "STATUS_SUCCESS", "requested_by_user": "user@example.com", "export_messages_v2": { "application_code": "XXXXX-XXXXX" }, "export_messages_v2_result": { "file": "Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv", "file_url": "https://app.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/Export_Messages_v2_12345_20260813120000-a1b2c3d4.csv" } } ]}delete
Anchor link toLöscht eine Aufgabe und ihre Datei, bevor das 7-tägige Aufbewahrungsfenster abläuft.
POST https://api.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/delete
Parameter des Anfragekörpers
Anchor link toÜbergeben Sie die von export zurückgegebene Aufgabenkennung:
| Name | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
uid | Ja | String (int64) | Aufgabenkennung aus der export-Antwort, z. B. "177458". |
Beispielanfrage
Anchor link to{ "uid": "177458"}{}Download
Anchor link toLädt die von result generierte CSV-Datei nach Namen herunter.
GET https://app.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/<file>
Header
Anchor link toAuthentifizieren Sie sich auf die gleiche Weise wie bei den anderen Methoden oder verlassen Sie sich auf eine aktive Control Panel-Sitzung:
| Name | Erforderlich | Beschreibung |
|---|---|---|
Authorization | Ja | Server-API-Token, im gleichen Format wie die anderen exportMessagesStatistics-Methoden: Authorization: Api <Server Key> (das Api-Schema ist nicht case-sensitiv). Eine Anfrage ohne Authorization-Header und ohne angemeldete Control Panel-Sitzung erhält 401 Unauthorized. |
Ersetzen Sie <file> durch den exakten file-Wert aus der result-Antwort, zum Beispiel:
https://app.pushwoosh.com/api/v2/statistics/exportMessagesStatistics/download/Export_Messages_v2_12345_20260813120000-a1b2c3d4.csvDie Datei ist eine CSV-Datei, die die in properties ausgewählten Spalten enthält. Sie bleibt 7 Tage nach Abschluss des Exports verfügbar, dann entfernt der Bereinigungsjob sie und die URL ist nicht mehr auflösbar.