[Go to site: main page, start]

Zum Inhalt springen

Presets-API

Ein Push-Preset ist eine wiederverwendbare Vorlage für Push-Benachrichtigungen – dasselbe Objekt, das Sie im Push-Editor des Control Panels erstellen. Diese API verwaltet nur Push-Presets; SMS-, WhatsApp-, Kakao-, LINE- und Viber-Presets haben jeweils ihren eigenen dedizierten Preset-Dienst, der hier nicht behandelt wird.

Verwenden Sie den code eines Presets, um es über Notify (Payload preset) oder einen Customer Journey Send-Push-Point zu senden.

https://rpc-api.svc-nue.pushwoosh.com

Alle Endpunkte werden über HTTPS bereitgestellt. Anfragen und Antworten verwenden application/json, sofern nicht anders angegeben.

Authentifizierung

Anchor link to

Jede Anfrage muss einen Authorization-Header mit Ihrem Server-API-Token enthalten:

Authorization: Api IHR_API_TOKEN

Konventionen

Anchor link to
  • Feldnamen: Anfrage-Bodys und Query-/Pfadparameter akzeptieren lowerCamelCase (zum Beispiel sendType, localizedProperties, searchByName) – der Server verarbeitet beide Schreibweisen. Antworten werden immer mit den Proto-Feldnamen in snake_case formatiert (localized_properties, platform_properties, per_page usw.). Die Antwortbeispiele und die Referenz zum Preset-Objekt unten verwenden diese Schreibweise.
  • code: Jede Preset-Antwort enthält ihren eigenen Code, der bei Create generiert wird. Übergeben Sie diesen Code an Get, Update, UpdatePartial, Delete, Clone und an die oben genannten Messaging-/Journey-APIs.
  • Plattformschlüssel: Die Maps platforms und open_actions sind nach dem numerischen Gerätetyp-Code (1 für iOS, 3 für Android usw.) geschlüsselt. platform_properties ist stattdessen nach dem Enum-Namen der Plattform geschlüsselt (IOS, ANDROID, BAIDU_ANDROID, HUAWEI_ANDROID, OSX – die einzigen fünf Plattformen, die es abdeckt).
  • Nicht ausgefüllte Felder: Get-, Create- und Clone-Antworten enthalten jedes Feld des Preset-Objekts, auch wenn es leer ist oder den Wert Null hat. List gibt einen reduzierten Feldsatz zurück – siehe List unten. Update und UpdatePartial geben überhaupt keine Preset-Felder zurück – siehe die Warnung in ihren Abschnitten.

Fehlerantworten

Anchor link to
HTTP-StatusBedeutung
400 Bad RequestUngültiges Argument – ein erforderliches Feld fehlt oder ist fehlerhaft, oder eine Vorbedingung ist fehlgeschlagen (z. B. Klonen ohne name).
401 UnauthorizedFehlender oder ungültiger Authorization-Header.
403 ForbiddenDie Anwendung oder das Preset gehört nicht zum Konto des Aufrufers.
404 Not FoundDas Preset oder die Anwendung wurde nicht gefunden.
500 Internal Server ErrorUnerwarteter serverseitiger Fehler.

Delete für ein Preset, das noch von einem Send-Push-Point einer laufenden oder pausierten Journey verwendet wird, gibt ebenfalls 400 Bad Request zurück (ein FailedPrecondition auf der Leitung) – nicht 409. Entfernen Sie das Preset zuerst aus der Journey.

MethodePfadBeschreibung
POST/api/presetsEin neues Push-Preset erstellen
GET/api/presetsPush-Presets einer Anwendung auflisten
GET/api/presets/{code}Ein einzelnes Push-Preset abrufen
PUT/api/presets/{code}Ein Push-Preset aktualisieren (vollständiges Überschreiben)
PUT/api/presets/{code}:partialEin Push-Preset aktualisieren (teilweise)
POST/api/presets/{code}:cloneEin Push-Preset klonen
DELETE/api/presets/{code}Ein Push-Preset löschen

Erstellt ein neues Push-Preset in einer Anwendung und gibt es mit seinem generierten Code zurück.

POST /api/presets

Anfrage-Body

Anchor link to
ParameterTypErforderlichBeschreibung
applicationstringJaDer Anwendungscode, in dem das Preset erstellt werden soll.
namestringJaPreset-Name.
sendTypestringNeinKanal des Presets (z. B. push).
isV2booleanNeinSetzt das Ursprungs-Flag des Presets. Weglassen, um standardmäßig true (v2) zu verwenden; setzen Sie false nur, wenn Sie ein altes v1-Preset reproduzieren.

Alle anderen Felder – lokalisierter Inhalt, Plattformen, Deep Link, Inbox, Kategorien usw. – werden mit Update geteilt und sind unten in der Referenz zum Preset-Objekt einmal dokumentiert.

Anfragebeispiel
Anchor link to
{
"application": "XXXXX-XXXXX",
"name": "20% Rabatt",
"platforms": { "1": true, "3": true },
"localizedContent": {
"default": "Holen Sie sich jetzt Ihren 20% Rabatt",
"es": "Consigue tu 20% de descuento ahora mismo"
},
"localizedTitle": { "default": "Hallo" },
"openAction": { "link": { "url": "https://example.com" } },
"categories": ["promo"]
}

Gibt { "preset": { ... } } zurück, das erstellte Preset-Objekt.

Listet die Push-Presets einer Anwendung auf – ein reduzierter Feldsatz, nicht das vollständige Objekt – mit Paginierung, Sortierung und Filterung nach Name oder Kategorie.

GET /api/presets

Query-Parameter

Anchor link to
ParameterTypErforderlichBeschreibung
applicationstringJaDer Anwendungscode, für den Presets aufgelistet werden sollen.
orderBystringNeinNAME (Standard), CREATED oder UPDATED.
orderDirectionstringNeinASC (Standard) oder DESC.
pageintegerNeinNullbasierter Seitenindex.
perPageintegerNeinSeitengröße. Standardmäßig 100, wenn weggelassen oder 0.
searchByNamestringNeinGroß- und kleinschreibungsunabhängige Teilstring-Übereinstimmung für Preset-Namen oder Code (ILIKE %value%).
searchByCategoryarray of stringsNeinWiederholen Sie den Parameter, um nach mehreren Kategorien zu filtern, z. B. ?searchByCategory=promo&searchByCategory=lifecycle.
showHiddenbooleanNeinSchließt Presets ein, die als hidden markiert sind.

Jeder Eintrag enthält nur: name, code, platforms, localized_content (einfacher Text pro Locale – nicht localized_properties), localized_title, localized_subtitle, banner, icon, categories, journey_uuid, custom_data, is_v2, created, updated. Jedes andere Feld des Preset-Objektslocalized_properties, platform_properties, deeplink, richmedia, url usw. – wird weggelassen, auch wenn es im Preset gesetzt ist.

FeldTypBeschreibung
presetsarray of objectsDie aktuelle Seite der Presets in der oben beschriebenen reduzierten Form.
pageintegerDer zurückgegebene Seitenindex.
per_pageintegerDie für diese Antwort verwendete Seitengröße.
totalintegerGesamtzahl der Presets, die den Filtern entsprechen, über alle Seiten hinweg.
Antwortbeispiel
Anchor link to
{
"presets": [
{ "name": "20% Rabatt", "code": "AAAAA-BBBBB", "platforms": { "1": true, "3": true }, "categories": ["promo"] }
],
"page": 0,
"per_page": 100,
"total": 1
}

Gibt ein einzelnes Push-Preset anhand seines Codes zurück, wobei jedes Feld des Preset-Objekts ausgefüllt ist.

GET /api/presets/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer Code des Presets.

Gibt { "preset": { ... } } zurück, das vollständige Preset-Objekt.

Aktualisieren

Anchor link to

Überschreibt ein bestehendes Push-Preset anhand des Codes mit den angegebenen Feldern.

PUT /api/presets/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer Code des zu überschreibenden Presets.

Anfrage-Body

Anchor link to

Dieselben Felder wie bei Erstellen (ohne application), plus die restlichen Felder des Preset-Objekts. sendType wird akzeptiert, aber ignoriert – der Kanal eines Presets kann nach der Erstellung nicht geändert werden.

Ein leeres Objekt bei Erfolg: {}.

Teilweise aktualisieren

Anchor link to

Aktualisiert nur die angegebenen Felder eines bestehenden Push-Presets anhand des Codes und lässt nicht gesetzte Felder unverändert.

PUT /api/presets/{code}:partial

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer Code des zu patchenden Presets.

Anfrage-Body

Anchor link to

Dieselben Felder wie bei Update, ohne application. Im Gegensatz zu Update bleibt hier jedes Feld – einschließlich localizedProperties, platformProperties, categories und der restlichen Gruppe von Inhaltseigenschaften, die in der Warnung von Update aufgeführt sind – unverändert, wenn es weggelassen wird, und wird nur berührt, wenn Sie es senden (ein Map-/Array-Feld, das Sie senden, ersetzt immer noch den bestehenden Wert für dieses Feld vollständig, es beeinflusst nur nichts, was Sie nicht eingeschlossen haben). sendType wird ebenfalls akzeptiert, aber ignoriert.

Anfragebeispiel
Anchor link to
{
"sendRate": 500,
"cappingCount": 3,
"cappingDays": 7
}

Ebenfalls ein leeres Objekt – siehe die Warnung oben.

Dupliziert ein bestehendes Push-Preset unter einem neuen Namen in derselben Anwendung.

POST /api/presets/{code}:clone

Anfrage-Body

Anchor link to
ParameterTypErforderlichBeschreibung
codestringJaCode des zu duplizierenden Quell-Presets.
namestringJaName für das neue Preset.
Anfragebeispiel
Anchor link to
{ "code": "AAAAA-BBBBB", "name": "20% Rabatt (Kopie)" }

Gibt { "preset": { ... } } zurück, das neue Preset-Objekt.

Löscht ein Push-Preset anhand seines Codes dauerhaft.

DELETE /api/presets/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer Code des zu löschenden Presets.

Ein leeres Objekt bei Erfolg: {}.

Objektreferenz

Anchor link to

Die folgenden Feldnamen entsprechen dem, was Get, Create, Update und Clone tatsächlich zurückgeben – snake_case-Proto-Feldnamen (siehe Konventionen). Die in den obigen Anfragebeispielen verwendete lowerCamelCase-Form funktioniert bei der Eingabe auf die gleiche Weise.

Preset-Objekt

Anchor link to

Identität

Anchor link to
FeldTypBeschreibung
codestringWird bei Create generiert. Identifiziert dieses Preset überall sonst in der API.
namestringPreset-Name.
send_typestringKanal des Presets (z. B. push).
is_v2booleantrue für Presets, die mit dem v2-Inhaltsmodell erstellt oder dorthin migriert wurden.
systembooleanMarkiert das Preset als System-/internes Preset.
hiddenbooleanVerbirgt das Preset in den List-Ergebnissen (senden Sie showHidden: true, um es einzuschließen).
createdstring (RFC 3339)Zeitstempel der Erstellung.
updatedstring (RFC 3339)Zeitstempel der letzten Aktualisierung.

Zielgruppenansprache & Inhalt

Anchor link to
FeldTypBeschreibung
platformsmap<string, boolean>Welche Plattformen das Preset anspricht, geschlüsselt nach Gerätetyp-Code (z. B. "1" für iOS).
localized_propertiesmap<string, object>Locale → reichhaltiger plattformspezifischer Inhalt. Gleiche Form wie LocalizedContent im Notify-Payload – ein Eintrag pro Plattformblock (ios, android usw.). Dies ist die primäre Methode, um plattformspezifischen Push-Inhalt festzulegen.
localized_title / localized_subtitle / localized_contentmap<string, string>Locale → einfacher Text. Eine einfachere Alternative zu localized_properties für Titel, Untertitel und Text, wenn Sie keine plattformspezifischen Überschreibungen benötigen.
platform_propertiesmap<string, object>Veraltete plattformspezifische Überschreibungen, geschlüsselt nach Plattform-Enum-Namen (IOS, ANDROID, BAIDU_ANDROID, HUAWEI_ANDROID, OSX). Siehe PlatformProperties-Objekt unten.
open_actionOpenActionAktion, die ausgelöst wird, wenn der Benutzer die Benachrichtigung öffnet, angewendet auf jede Plattform. Schließt sich gegenseitig mit open_actions aus – die Antwort setzt genau eine.
open_actionsmap<string, OpenAction>Plattformspezifische Überschreibung von open_action, geschlüsselt nach Gerätetyp-Code.
deeplinkstringDeep Link-Code.
deeplink_paramsmap<string, string>Parameter, die an den Deep Link übergeben werden.
richmediastringRich Media-Code, der von der Benachrichtigung geöffnet wird.
urlstringURL, die von der Benachrichtigung geöffnet wird, wenn kein Deep Link oder Rich Media verwendet wird.
FeldTypBeschreibung
inbox_imagestringBild-URL, die im Message Inbox-Eintrag angezeigt wird.
inbox_iconstringIcon-URL, die im Message Inbox-Eintrag angezeigt wird.
inbox_daysintegerTage, die der Eintrag in der Message Inbox verbleibt.
inbox_datestring (RFC 3339)Explizites Ablaufdatum für den Message Inbox-Eintrag, als Alternative zu inbox_days.

Organisation & Metadaten

Anchor link to
FeldTypBeschreibung
categoriesarray of stringsKategorienamen, mit denen das Preset getaggt ist.
campaign_codestringKampagnencode, dem dieses Preset zugeordnet ist.
filter_codestringSegment-/Filtercode, den dieses Preset standardmäßig anspricht.
geo_zonesstringGeozone-Targeting, wenn das Preset geo-getriggert ist.
journey_uuidstringUUID der Customer Journey, der dieses Preset gehört, wenn es aus einem Send-Push-Point einer Journey erstellt wurde.
custom_dataobjectFreiform-JSON, das als u-Parameter an das Client-SDK weitergeleitet wird.
bannerstringGroßbild-/Anhang-Bild-URL.
iconstringURL des benutzerdefinierten Benachrichtigungs-Icons.

Lieferbeschränkungen

Anchor link to
FeldTypBeschreibung
send_rateintegerDrosselung für Sendungen, die dieses Preset verwenden, in Nachrichten/Sekunde – das Äquivalent auf Preset-Ebene zu Notifys SendRate.
capping_count / capping_daysintegerFrequenzlimit pro Benutzer für dieses Preset – das Äquivalent auf Preset-Ebene zu Notifys FrequencyCapping count / days.
FeldTypBeschreibung
notification_sent_urlstringCallback-URL, die angefordert wird, wenn eine Benachrichtigung mit diesem Preset gesendet wird.
notification_delivered_urlstringCallback-URL, die angefordert wird, wenn eine Benachrichtigung mit diesem Preset zugestellt wird.
notification_click_urlstringCallback-URL, die angefordert wird, wenn eine Benachrichtigung mit diesem Preset angeklickt wird.

Veraltete Felder

Anchor link to

Diese stammen aus dem v1-Preset-Modell. Sie werden eher aus Kompatibilitätsgründen mit dem Control Panel ausgefüllt als für neue Integrationen.

FeldTypBeschreibung
remote_pagestringVeralteter Verweis auf eine Remote-Seite.
wns_contentstringVeraltetes Windows-Toast-Template-JSON, wie es von den v1-Methoden createPreset/getPreset akzeptiert wird.
original_urlstringDer Wert von url vor der Kürzung, wenn url durch einen gekürzten Link ersetzt wurde.
ios_silent / android_silent / baidu_android_silent / huawei_android_silentbooleanPlattformspezifische Flags für stille (nur Daten) Push-Nachrichten.

PlatformProperties-Objekt

Anchor link to

Felder, die in jedem platform_properties-Eintrag verfügbar sind (IOS, ANDROID, BAIDU_ANDROID, HUAWEI_ANDROID, OSX):

FeldTypBeschreibung
badgestringÜberschreibung der Badge-Anzahl.
soundstringName der Sound-Datei.
sound_offbooleanStummschalten des Benachrichtigungstons.
prioritystringPriorität im Posteingang (nur Android/Baidu/Huawei).
delivery_prioritystringNORMAL oder HIGH Lieferpriorität (nur Android/Baidu/Huawei).
ios_interruption_levelstringpassive, active, time-sensitive oder critical (nur iOS).

Verwandte Themen

Anchor link to