Zum Inhalt springen

E-Mail-Vorlagen-API

Die E-Mail-Vorlagen-API verwaltet die wiederverwendbaren E-Mail-Vorlagen, die hinter den E-Mail-Presets einer Anwendung stehen – dieselben Vorlagen, die Sie im E-Mail-Editor des Control Panels erstellen. Jede Vorlage speichert lokalitätsspezifische Betreffzeilen, Absenderinformationen und Editor-Inhalte und wird durch den Code des E-Mail-Presets identifiziert, mit dem sie verbunden ist. Verwenden Sie diesen Code, um die Vorlage über Notify (E-Mail-Payload email_template) oder einen Customer Journey Send email-Punkt 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: Anfragekörper und Query-/Pfadparameter akzeptieren lowerCamelCase (zum Beispiel previewSettings, searchByLabel, includeHtml) – der Server verarbeitet beide Schreibweisen. Antworten werden immer mit den Proto-Feldnamen in snake_case marshalled (per_page, email_template, sender_info, preview_settings usw.). Die Antwortbeispiele und die Objektreferenz unten verwenden diese Schreibweise.
  • code: Jede Vorlagenantwort enthält den Code des verbundenen E-Mail-Presets, nicht eine interne Vorlagen-ID. Übergeben Sie denselben Code an Get, Update, Delete und an die oben genannten Messaging-/Journey-APIs.
  • Nicht ausgefüllte Felder: Antworten enthalten alle Felder, auch wenn sie leer sind oder den Wert Null haben.

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. das Löschen einer Vorlage, die noch von einer Journey verwendet wird).
401 UnauthorizedFehlender oder ungültiger Authorization-Header.
403 ForbiddenDie Anwendung oder das Preset gehört nicht zum Konto des Aufrufers.
404 Not FoundDie Vorlage, das Preset oder die Anwendung wurde nicht gefunden.
500 Internal Server ErrorUnerwarteter serverseitiger Fehler.
MethodePfadBeschreibung
POST/api/email_templatesEine neue E-Mail-Vorlage erstellen
GET/api/email_templatesE-Mail-Vorlagen einer Anwendung auflisten
GET/api/email_templates/{code}Eine einzelne E-Mail-Vorlage abrufen
PUT/api/email_templates/{code}Eine E-Mail-Vorlage aktualisieren
DELETE/api/email_templates/{code}Eine E-Mail-Vorlage löschen
POST/api/email_templates:cloneEine E-Mail-Vorlage in eine Anwendung klonen

Erstellt eine neue E-Mail-Vorlage – ihren Editor-Inhalt plus ein verbundenes E-Mail-Preset – in einer Anwendung und gibt den generierten Vorlagencode zurück.

POST /api/email_templates

Anfragekörper

Anchor link to
ParameterTypErforderlichBeschreibung
applicationstringJaDer Pushwoosh-Anwendungscode, in dem die Vorlage erstellt werden soll.
namestringJaVorlagenname, 1–255 Zeichen.
contentobjectJaDas E-Mail-Inhaltsobjekt.
labelstringNeinFreitext-Label, bis zu 255 Zeichen.
categoriesarray of stringsNeinKategorienamen, mit denen die Vorlage getaggt werden soll.
previewSettingsobjectNeinBeliebige Editor-Vorschau-Einstellungen, die unverändert gespeichert und zurückgegeben werden.
systembooleanNeinMarkiert die Vorlage als Systemvorlage – eine interne Funktion, z. B. ein synchronisiertes Blockfragment. Systemvorlagen sind in der List-Anzeige ausgeblendet (siehe Hinweis unten), bleiben aber per Code erreichbar. Standardmäßig false.
Beispiel für eine Anfrage
Anchor link to
{
"application": "XXXXX-XXXXX",
"name": "Willkommens-E-Mail",
"label": "Onboarding",
"categories": ["Lifecycle"],
"content": {
"senderInfo": {
"from": { "email": "hallo@acme.com", "name": "Acme" },
"replyTo": { "email": "support@acme.com", "name": "Acme Support" }
},
"subject": { "en": "Willkommen bei Acme!", "default": "Willkommen bei Acme!" },
"pushwoosh": {
"html": "<html><body>Willkommen, {name|string|dort}!</body></html>",
"localizationData": { "default": { "name": "dort" } }
}
}
}

Gibt { "email_template": { ... } } zurück – das erstellte E-Mail-Vorlagenobjekt, aber ohne content (dieser Endpunkt gibt es nicht zurück). Rufen Sie Get mit dem zurückgegebenen code auf, wenn Sie den Inhalt zurücklesen müssen.

Listet die E-Mail-Vorlagen einer Anwendung auf – nur Metadaten, kein Inhalt – mit Paginierung, Sortierung und Filterung nach Name, Label oder Kategorie.

GET /api/email_templates

Query-Parameter

Anchor link to
ParameterTypErforderlichBeschreibung
applicationstringJaDer Anwendungscode, für den Vorlagen aufgelistet werden sollen.
orderBystringNeinNAME (Standard), CREATED oder UPDATED.
orderDirectionstringNeinASC (Standard) oder DESC.
pageintegerNeinNullbasierter Seitenindex.
perPageintegerNeinSeitengröße. Standardmäßig 100, wenn weggelassen oder 0. Dieser Endpunkt erzwingt kein explizites Maximum.
searchByNamestringNeinTeilstring-Übereinstimmung (like %value%) mit dem Namen oder dem Code der Vorlage – eine der beiden Übereinstimmungen genügt.
searchByLabelstringNeinTeilstring-Übereinstimmung auf dem Label (like %label%) oder exakte Übereinstimmung, wenn strictSearchByLabel true ist.
strictSearchByLabelbooleanNeinVerwendet exakte Übereinstimmung anstelle von Teilstring für searchByLabel.
searchByCategoryarray of stringsNeinWiederholen Sie den Parameter, um nach mehreren Kategorien zu filtern, z. B. ?searchByCategory=lifecycle&searchByCategory=promo.
FeldTypBeschreibung
email_templatesarray of objectsDie aktuelle Seite der E-Mail-Vorlagenobjekte. content ist bei jedem Element null.
pageintegerDer zurückgegebene Seitenindex.
per_pageintegerDie für diese Antwort verwendete Seitengröße.
totalintegerGesamtzahl der Vorlagen, die den Filtern entsprechen, über alle Seiten hinweg.
Beispiel für eine Antwort
Anchor link to
{
"email_templates": [
{ "code": "AAAAA-BBBBB", "name": "Willkommens-E-Mail", "label": "Onboarding", "categories": ["Lifecycle"] }
],
"page": 0,
"per_page": 100,
"total": 1
}

Gibt eine einzelne E-Mail-Vorlage anhand ihres Codes zurück, einschließlich Absenderinformationen, lokalitätsspezifischer Betreffzeilen und des vollständigen Editor-Inhalts.

GET /api/email_templates/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer Code der Vorlage (der Code des verbundenen E-Mail-Presets).

Query-Parameter

Anchor link to
ParameterTypErforderlichBeschreibung
includeHtmlbooleanNeinOb das gerenderte html zusammen mit dem Editor-Inhalt zurückgegeben werden soll. Standardmäßig true. Setzen Sie es auf false, um es zu überspringen – es macht normalerweise über die Hälfte der Payload aus, und der Editor-Inhalt beschreibt die Vorlage bereits.

Gibt { "email_template": { ... } } zurück, das vollständige E-Mail-Vorlagenobjekt.

Aktualisieren

Anchor link to

Aktualisiert eine bestehende E-Mail-Vorlage anhand ihres Codes und überschreibt die angegebenen Felder.

PUT /api/email_templates/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer zu aktualisierende Code der Vorlage.

Anfragekörper

Anchor link to
ParameterTypErforderlichBeschreibung
namestringNeinNeuer Name, 1–255 Zeichen. Weglassen, um den aktuellen Namen beizubehalten.
contentobjectNeinNeues E-Mail-Inhaltsobjekt, das den gespeicherten Inhalt vollständig ersetzt. Weglassen, um den Inhalt unverändert zu lassen.
labelstringNeinNeues Label. Wird immer überschrieben – weglassen oder "" senden, um es zu löschen.
categoriesarray of stringsNeinNeuer vollständiger Satz von Kategorienamen. Weglassen, um Kategorien unverändert zu lassen; [] senden, um sie zu löschen.
previewSettingsobjectNeinNeue Vorschau-Einstellungen. Weglassen, um sie unverändert zu lassen.
Beispiel für eine Anfrage
Anchor link to
{
"name": "Willkommens-E-Mail v2",
"label": "Onboarding",
"content": {
"senderInfo": { "from": { "email": "hallo@acme.com", "name": "Acme" } },
"subject": { "default": "Willkommen bei Acme – aktualisiert!" },
"pushwoosh": {
"html": "<html>...</html>",
"localizationData": {}
}
}
}

Gibt { "email_template": { ... } } zurück – das aktualisierte E-Mail-Vorlagenobjekt, ebenfalls ohne content. Rufen Sie Get auf, wenn Sie den Inhalt zurücklesen müssen.

Löscht eine E-Mail-Vorlage und das zugehörige Preset anhand des Codes und entfernt den gespeicherten Inhalt.

DELETE /api/email_templates/{code}

Pfadparameter

Anchor link to
ParameterTypBeschreibung
codestringDer zu löschende Code der Vorlage.

Ein leeres Objekt bei Erfolg: {}.

Klont eine E-Mail-Vorlage – ihren Inhalt und ihr Preset – in eine Zielanwendung, optional unter einem neuen Namen.

POST /api/email_templates:clone

Anfragekörper

Anchor link to
ParameterTypErforderlichBeschreibung
emailPresetCodestringJaDer code der zu klonenden Vorlage (wie von Create, Get, List oder Update zurückgegeben). Hier emailPresetCode genannt, da es der Code des verbundenen E-Mail-Presets ist – siehe Konventionen.
applicationstringJaZiel-Anwendungscode. Kann dieselbe Anwendung sein oder eine andere, die zum selben Konto gehört.
namestringNeinName für den Klon, 1–255 Zeichen. Standardmäßig der Name der Quellvorlage.
Beispiel für eine Anfrage
Anchor link to
{
"emailPresetCode": "AAAAA-BBBBB",
"application": "YYYYY-YYYYY",
"name": "Willkommens-E-Mail (Kopie)"
}
FeldTypBeschreibung
email_preset_codestringDer code der neuen Vorlage – derselbe Bezeichner, den Get/Update/Delete als code bezeichnen.

Objektreferenz

Anchor link to

Die unten stehenden Feldnamen entsprechen dem, was Get, List, Update und Create tatsächlich zurückgeben – snake_case Proto-Feldnamen (siehe Konventionen). Wenn Sie dieselben Strukturen in einem Anfragekörper zurücksenden (Create, Update), funktioniert auch die in den obigen Anfragebeispielen verwendete lowerCamelCase-Form; der Server akzeptiert bei der Eingabe beide Schreibweisen.

E-Mail-Vorlagenobjekt

Anchor link to
FeldTypBeschreibung
codestringCode des verbundenen E-Mail-Presets. Identifiziert diese Vorlage überall sonst in der API.
namestringVorlagenname.
labelstringFreitext-Label.
categoriesarray of stringsKategorienamen.
contentobjectDas E-Mail-Inhaltsobjekt. Nur von Get ausgefüllt; null in Create-, List- und Update-Antworten.
preview_settingsobjectBeliebige Editor-Vorschau-Einstellungen.
createdstring (RFC 3339)Zeitstempel der Erstellung.
updatedstring (RFC 3339)Zeitstempel der letzten Aktualisierung.

E-Mail-Inhaltsobjekt

Anchor link to
FeldTypBeschreibung
sender_infoobjectAbsenderinformationsobjektfrom- und reply_to-Adressen.
subjectobject (map)Lokalitätsspezifischer Betreff, z. B. { "en": "Betreff", "default": "Betreff" }.
unlayer / pushwoosh / smartcardsobjectDer Editor-Inhalt. Genau eines davon muss gesetzt sein – es wählt aus, welcher Editor die Vorlage erstellt hat (und rendern wird). Siehe Editor-Arten unten.

Editor-Arten

Anchor link to
ArtFeldErforderliche UnterfelderBeschreibung
unlayerhtml, localization_data, editor_configeditor_config, localization_dataDrag-and-Drop-Block-Editor (Unlayer). editor_config ist das Unlayer-Design-JSON.
pushwooshhtml, localization_datalocalization_dataPushwooshs eigener HTML-basierter Editor. Empfohlen für programmatisch/API-erstellte Vorlagen.
smartcardshtml, localization_data, contentcontent, localization_dataSmart Cards Block-Editor; content ist sein editorspezifisches JSON.

Bei jeder Art ist html die gerenderte Ausgabe. localization_data ist der eigene lokalitätsspezifische Inhalt dieses Editors: ein Objekt, das nach Lokalisierungscode (en, es, default, …) geschlüsselt ist, wobei jeder Wert die Kopie der Editorfelder für diese Lokalisierung ist. Seine innere Struktur ist editorspezifisch und für diese API undurchsichtig – die API speichert und gibt sie unverändert zurück. Es ist bei Create/Update für jede Art erforderlich (senden Sie {}, wenn nichts zu lokalisieren ist).

Text innerhalb von html oder einem localization_data-Wert kann Dynamic Content-Tags enthalten, z. B. {name|string|dort} – diese werden gegen die Tags des Empfängergeräts aufgelöst, wenn die E-Mail tatsächlich gesendet wird. Diese API löst sie nicht auf; sie speichert und gibt nur den Text zurück, den Sie dort eingefügt haben.

Absenderinformationsobjekt

Anchor link to
FeldTypBeschreibung
fromobject{ "email": string, "name": string } – Absenderadresse.
reply_toobject{ "email": string, "name": string } – Antwortadresse.

Beide email-Unterfelder müssen, wenn sie nicht leer sind, gültige E-Mail-Adressen sein.

Verwandte Themen

Anchor link to