Skip to content

Möchten Sie Nachrichten an eine Rufnummer aus dem Vereinigten Königreich von einer neuen Absender-ID aus senden?
Ab dem 4. April müssen Sie uns kontaktieren, um dies einzurichten.

E-Mail.
Häufig gestellte Fragen zum Esendex Produkt E-Mail

Esendex Schablonensprache

Dieser Artikel soll Ihnen klare Beschreibungen und Erklärungen der grundlegenden Konzepte der MJ Templating Language liefern. Sie werden im gesamten Artikel praktische Beispiele finden, die die Verwendung der Sprache in realen Szenarien effektiv veranschaulichen.

Zusammenfassung

Variable Typen

Esendex bietet vier Variablentypen an, die jeweils einen anderen Zweck in der Templating-Sprache erfüllen. Zu diesen Variablentypen gehören:

  1. Daten (statisch): Diese Variablen werden für statische Daten verwendet, die sich nicht häufig ändern. Es handelt sich in der Regel um vordefinierte Werte.
  2. Var (dynamisch): Var-Variablen werden für dynamische Daten verwendet, die sich aufgrund verschiedener Bedingungen oder Eingaben ändern können.
  3. Vordefinierte MJ-Variablen: Diese Variablen werden von Esendex vordefiniert und bieten nützliche Informationen und Funktionen innerhalb der Templating-Sprache.
  4. Segmentierungsvariablenstrukturen: Diese Variablen werden für komplexe Segmentierungszwecke verwendet und sind nicht das Hauptthema dieses Artikels.

Wir werden uns hauptsächlich auf die ersten beiden Variablentypen (data und var) konzentrieren, aber auch kurz auf vordefinierte Variablen eingehen.

Die am häufigsten verwendeten Variablentypen sind data und var. Während beide dem Zweck dienen, eine Platzhalterzeichenkette durch einen sich dynamisch ändernden Wert zu ersetzen, unterscheiden sie sich in der Art und Weise, wie sie verwendet werden sollten, wie der Wert dem System zur Verfügung gestellt wird und in welchen Arten von Nachrichten sie verwendet werden können.

Zusätzlich zu den eigenständigen Variablen bietet die Templating-Sprache Werkzeuge (Funktionen), die es dem Benutzer ermöglichen, Variablen in komplexere logische und arithmetische Operationen einzubinden und die Formatierung und Kodierung zu beeinflussen. In diesem Leitfaden werden wir insbesondere die Verwendung von Funktionen wie ’set‘ und ‚FormatNumberLocale‘ untersuchen. Außerdem werden wir uns eingehend mit if-Bedingungsanweisungen und for-Schleifen befassen.

Daten

Der Datentyp „Variable“ ist vielseitig und kann sowohl in Marketing- als auch in Transaktionsnachrichten verwendet werden. Diese Flexibilität ergibt sich aus der Tatsache, dass keine Aktion des Benutzers erforderlich ist, um einen Wert für den Variablenplatzhalter bereitzustellen. Stattdessen ersetzt das System den Wert automatisch auf der Grundlage der Kontakteigenschaftsobjekte.

Unabhängig davon, ob Sie eine Kampagne oder eine Transaktions-E-Mail versenden, solange die Nachricht an einen bestehenden Kontakt gerichtet ist und der Variablenname einer Kontakteigenschaft entspricht, ist das System in der Lage, die Datenvariable zu verarbeiten. Wenn der Empfänger dieser Eigenschaft einen Wert zugewiesen hat, wird dieser anstelle des Variablenplatzhalters angezeigt.

Lassen Sie uns dies anhand eines Beispiels veranschaulichen. Angenommen, ich setze die Variable [[data:country]] in den Inhalt meiner Nachricht und sende sie an einen meiner Kontakte. In diesem Szenario sind zwei Ergebnisse möglich:

  1. Wenn der Kontakt einen Wert für die Kontakteigenschaft „Land“ festgelegt hat, erhält er die Nachricht, wobei die Variable [[data:country]] durch den entsprechenden Wert ersetzt wird.
  2. Wenn der Kontakt keinen Wert für die Kontakteigenschaft „Land“ festgelegt hat, erhält er die Nachricht, ohne dass die Variable [[data:country]] ersetzt wird. Die Variable selbst wird jedoch in der endgültigen Version der Nachricht nicht als Element der Vorlagensprache angezeigt.

Als konkretes Beispiel betrachten wir zwei Kontakte: user1@domain.tld mit dem Eigenschaftswert „Land“ „Frankreich“ und user2@domain.tld, für den kein Wert für die Eigenschaft „Land“ festgelegt wurde.

Wenn ich beiden dieselbe Nachricht schicke, die den Satz enthält:

„Hallo, wie sieht es in [[data:country]] jetzt nach der Pandemie aus?

Beide Kontakte werden unterschiedliche Inhalte sehen:

user1@domain.tld wird sehen: „Hallo, wie sieht es jetzt in Frankreich nach der Pandemie aus?“
user2@domain.tld wird sehen: „Hallo, wie sieht es jetzt nach der Pandemie in Frankreich aus?“

Im zweiten Beispiel gibt das System einfach nichts aus, weil der Benutzer keinen Wert für die zugehörige Eigenschaft der verwendeten Datenvariablen festgelegt hat.

Var

Es ist wichtig zu beachten, dass der Variablentyp var nicht in Marketingvorlagen oder Kampagnenentwürfen verwendet werden sollte. Obwohl sie zu diesen Objekten hinzugefügt werden kann, führt der Versuch, eine solche Nachricht zu senden, zu einem BLOCKED-Ereignis aufgrund eines Fehlers in der Templating-Sprache. In der Regel wird in der Fehlermeldung angegeben, dass kein Wert für die var-Variable angegeben wurde, was zu erwarten ist, da es keine Möglichkeit gibt, einen Wert für sie hinzuzufügen.

Es gibt jedoch Möglichkeiten, var-Variablen in einer Marketing-Vorlage oder in einer Kampagnen-Einstellung zu verwenden. Die beiden einfachsten Ansätze sind:

  • Hinzufügen der var-Variable mit einem Standardwert.
  • Definieren der Variable mit einer Set-Funktion.

Obwohl diese Ansätze technisch funktionieren, können sie kontraproduktiv und weniger nützlich sein. Der Grund dafür ist, dass Sie den Wert der Variablen vor dem Senden in der Vorlage selbst festlegen müssen, ohne dass der angezeigte Wert je nach Empfänger variiert werden kann. Dies widerspricht dem Zweck einer Variablen und macht ihre Flexibilität zunichte.

Die richtige Verwendung von var-Variablen besteht darin, sie in Transaktionsvorlagen oder direkt in den Inhalt von Transaktionsnachrichten aufzunehmen. Die Werte, die zum Ersetzen dieser Variablen verwendet werden, werden vom Benutzer über den Senden-API-Aufruf (als Teil des Anforderungskörpers) oder während der SMTP-Relay-Sitzung (als benutzerdefinierte Kopfzeile) bereitgestellt, je nach verwendetem Transaktionskanal.

Für die Deklaration der Variablen und die Bereitstellung ihrer jeweiligen Werte werden JSON-Schlüssel-Wert-Paare verwendet. Zum Beispiel: „Name“: „John“ oder„testVariable123“: „testValue„, usw.

Im Kontext von Send API v3 wird das Objekt, das die Variablen enthält, „Vars“ genannt Für Send API v3.1 bleibt das Prinzip dasselbe, aber das Objekt wird „Variables“ genannt Für SMTP-Relay-generierte Nachrichten ist der benutzerdefinierte Header, der die JSON-kodierten Variablen enthalten sollte, „X-MJ-Vars“

Bitte beachten Sie, dass das Esendex-System auf bestimmte Eigenschaften angewiesen ist, die angeben, ob die Elemente der Vorlagensprache als solche zu behandeln sind, damit die Vorlagensprache korrekt und nicht als reiner Text verarbeitet wird. Diese Eigenschaften sind boolescher Art. Nachstehend finden Sie die entsprechenden Eigenschaftsnamen für jeden Transaktionskanal:

  • Sende-API v3: „Mj-TemplateLanguage“
  • Sende-API v3.1: „TemplateLanguage“
  • SMTP-Relay: „X-MJ-TemplateLanguage“

Es ist wichtig zu beachten, dass der Standardwert für jede dieser Eigenschaften „false“ oder „0“ ist. Wenn dieses Detail übersehen wird, funktionieren die Einstellungen der Vorlagensprache möglicherweise nicht wie erwartet, selbst wenn die Konfigurationen korrekt sind. Wenn die oben genannten Eigenschaften nicht aktiviert sind, interpretiert das System die Elemente der Vorlagensprache in der gesendeten Nachricht als gewöhnliche Textstrings ohne zusätzliche Bedeutung.

In einem Nischenszenario, in dem Benutzer Kampagnenentwürfe über die API erstellen und beabsichtigen, die Schablonensprache im Inhalt des Kampagnenentwurfs zu verwenden, müssen sie sicherstellen, dass das mit ihrem Entwurf verbundene Objekt„/campaigndraft/$ID/detailcontent“ die folgende Eigenschaft im Objekt „Headers“ enthält:

Tamplating

Durch die Aufnahme dieser Eigenschaft erkennt das System die Verwendung von Schablonensprache im Inhalt des Kampagnenentwurfs.

Standardwerte

Sowohl var- als auch data-Variablen unterstützen die Verwendung von Standardwerten. Ein Standardwert dient als Ausweich- oder Sicherheitswert, den die Benutzer unserem System beim Einrichten der Variablen in der Vorlage oder im Textkörper der Nachricht zur Verfügung stellen. Wenn bestimmte Bedingungen erfüllt sind, wird der Standardwert von unserem System angezeigt:

  • datenvariablen: Wenn der Kontakt, der die Nachricht erhält, keinen Wert für die Eigenschaft „Kontakt“ für diese spezifische Variable/Kontakteigenschaft festgelegt hat.
  • var-Variablen: Wenn kein Wert über den API-Aufruf oder die SMTP-Sitzung übertragen wird.

In diesen Szenarien dient der Standardwert als Ersatz, um sicherzustellen, dass immer ein Wert für die Variable angezeigt wird, auch wenn die erforderlichen Daten nicht verfügbar sind oder bereitgestellt werden.

Syntax

Mit den obigen Überlegungen im Hinterkopf wollen wir uns nun mit der korrekten Syntax für eigenständige Variablen (Variablen, die nicht innerhalb einer Funktion verwendet werden) beschäftigen.

Var-Variablen

  • Um eine var-Variable hinzuzufügen, verwenden Sie die folgende Syntax: {{var:VariablenName}}
  • Um einen Standardwert zusammen mit der Variable anzugeben: {{var:variableName:defaultValue}}
    Alternative Syntax: {{var:variableName: „defaultValue“}} (beide Optionen funktionieren gleich gut)
  • Um ein Leerzeichen als Standardwert auszugeben, schließen Sie es in Anführungszeichen ein: {{var:variableName:““}}
  • Um nichts als Standardwert anzuzeigen, verwenden Sie leere Anführungszeichen: {{var:variableName:““}}

Datenvariablen

  • Um eine Datenvariable hinzuzufügen, verwenden Sie die folgende Syntax: [[data:contactPropertyName]]
  • Um einen Standardwert zusammen mit der Variablen anzugeben: [[data:contactPropertyName:defaultValue]]
    Alternative Syntax: [[data:contactPropertyName: „defaultValue“]]

Hinweis: Obwohl doppelte geschweifte Klammern anstelle von doppelten eckigen Klammern auch für Datenvariablen funktionieren, wird empfohlen, eckige Klammern zu verwenden, es sei denn, dies ist für bestimmte Funktionen erforderlich, die doppelte geschweifte Klammern verlangen.

Es ist wichtig zu beachten, dass sich das System anders verhält, wenn es auf eine Situation stößt, in der es keinen Wert für eine Datenvariable im Vergleich zu einer var-Variable hat. Wenn eine Datenvariable keinen Standardwert hat und der Kontakt keinen Wert für die entsprechende Eigenschaft gesetzt hat, wird in der Nachricht ein Leerzeichen ausgegeben. Wenn jedoch kein Standardwert für eine var-Variable vorhanden ist und dieser nicht im API-Aufruf oder in der SMTP-Sitzung deklariert wird, wird die Nachricht blockiert.

Standardwerte sind nicht obligatorisch, aber sie können hilfreich sein, um das Blockieren von Nachrichten zu verhindern. Standardmäßig blockiert das System die Nachricht, wenn es auf eine var-Variable ohne angegebenen Wert stößt. Um dieses Verhalten zu beeinflussen, können Sie eine spezielle boolesche Eigenschaft in Ihren API-Aufruf oder SMTP-Header aufnehmen:

  • Send API v3: „Mj-TemplateErrorDeliver“
  • Sende-API v3.1: „TemplateErrorDeliver“
  • SMTP: „X-MJ-TemplateErrorDeliver“

Der Standardwert für diese Eigenschaft ist „false“. Wenn Sie diese Eigenschaft manuell aktivieren, können Nachrichten auch bei Fehlern in der Templatesprache gesendet werden. Das Aktivieren dieser Eigenschaft verhindert, dass Nachrichten blockiert werden.

Schließlich können die Benutzer wählen, ob sie per E-Mail benachrichtigt werden möchten, wenn ihre Nachrichten aufgrund von Fehlern in der Schablonensprache blockiert werden. Dies kann durch eine weitere spezielle Eigenschaft erreicht werden:

  • Send API v3: „Mj-TemplateErrorReporting“ (Beispiel: „Mj-TemplateErrorReporting“: „reports@domain.tld“)
  • API v3.1 senden: „TemplateErrorReporting“ (Beispiel: {„E-Mail“: „reports@domain.tld“, „Name“: „Empfängername“})
  • SMTP: „X-MJ-TemplateErrorReporting“ (benutzerdefinierte Kopfzeile Beispiel: X-MJ-TemplateErrorReporting: „reports@domain.tld“)

Vordefinierte Variablen

In unserem System sind bestimmte Variablennamen für vordefinierte statische Variablen reserviert. Mit diesen Variablen können die Benutzer eine Variable angeben, die einem bestimmten systembasierten Wert entspricht. Einige häufig verwendete vordefinierte Variablen sind:

  • ID des Empfängerkontakts
  • E-Mail Adresse des Empfängers
  • ID der Vorlage
  • Social-Media-Share-Links für die Online-Version der E-Mail (Twitter, Facebook, LinkedIn, etc.) – dies gilt für Newsletter genauso wie für die Standard-Online-Versionen/PERMALINKS.

Die Syntax für die Verwendung einer dieser vordefinierten Variablen lautet wie folgt: {{vordefinierteVariableHier}}.

Beispiel: {{mj:template.ID}} zeigt die ID der Vorlage in der endgültigen Version der Nachricht an, wenn eine Vorlage zum Senden der E-Mail verwendet wurde.

Bitte beachten Sie, dass es weitere reservierte Variablen gibt, wie den Abmeldelink oder die Online-Version, die mit doppelten eckigen Klammern eingeleitet werden (z. B. [[PERMALINK]]). Diese Variablen werden in der Regel automatisch vom System hinzugefügt, aber Benutzer können sie auch manuell in Drag-and-Drop-, Roh-HTML-, Roh-MJML-Vorlagen oder Kampagnenentwurfs-Detailinhaltsobjekten einfügen. Es ist wichtig, daran zu denken, dass diese speziellen vordefinierten Variablen nicht mit geschweiften Klammern eingeführt werden sollten. Wenn sie mit geschweiften Klammern eingefügt werden, behandelt das System sie als Variablen, die in einem API-Aufruf oder während einer SMTP-Sitzung (als „var“-Variablen) definiert werden müssen, und nicht als Variablen, die das System selbständig abrufen kann.

Daher muss jede vordefinierte statische Variable, die in der oben genannten Referenzdokumentation aufgeführt ist (und mit „mj:“ beginnt), mit„{{}}“ eingeleitet werden, während jede vordefinierte Variable, die nicht in dieser Dokumentation aufgeführt ist (und nicht mit „mj:“ beginnt), mit „[[]]“ eingeleitet werden sollte.

Mehrdimensionale Objekte und mehrdimensionale Arrays

Unsere Schablonensprache erlaubt die Verwendung von mehrdimensionalen Objekten und mehrdimensionalen Arrays – diese sind in verschiedenen Situationen nützlich, zum Beispiel, um Werte einzuführen, die in einer for-Schleife verwendet werden.

Ein multidimensionales Objekt oder Array besteht aus Variablen, die ineinander verschachtelt sind. Diese sind nur in transaktionalen Vorlagen/Nachrichten verwendbar, da sie erfordern, dass die Werte vom Benutzer bereitgestellt werden, und dies muss über eine spezifische JSON-Struktur erfolgen.

Hier ist ein Beispiel für eine mehrdimensionale Variable, die als mehrdimensionales Objekt in den JSON-Daten dargestellt werden muss, in denen die Variablen für diese Nachricht deklariert werden:

{{var:kleidung.winter.mantel}}

Jeder Punkt („.“) steht für eine „Schicht“ der Verschachtelung – der Wert ganz links zeigt die äußerste Ebene an, und je weiter wir nach rechts gehen, desto weiter unten in der verschachtelten Struktur befinden wir uns. Hier ist die korrekte JSON-Struktur, die verwendet werden muss, damit unser System den Wert für die Variable „clothes.winter.coat“ richtig findet (das Beispiel enthält die Eigenschaft „Variables“ von v3.1, aber das würde je nach verwendetem Transaktionskanal variieren, wie in einem früheren Abschnitt erläutert):

Tamplating

Die obige Einstellung würde dazu führen, dass das Wort „Blazer“ an der Stelle angezeigt wird, an der „{{var:clothes.winter.coat}}“ in der Vorlage/im Inhalt der E-Mail platziert wurde.

Mehrdimensionale Arrays werden häufiger verwendet – insbesondere in for-Schleifen (mehr dazu in einem anderen Abschnitt). Die Logik, die hinter der Strukturierung der JSON-Daten steht, wäre ähnlich wie im oben gezeigten Beispiel, mit einigen Ergänzungen (nämlich JSON-Arrays).

Hier ist ein einfaches Beispiel: {{Kunde.Name}}

Wenn wir uns vorstellen, dass dies eine Variable ist, die in einer for-Schleife verwendet wird (was bedeutet, dass wir verschiedene Werte unter derselben Variablen – in diesem Fall „Name“ – zuweisen wollen), könnten wir ein Array mit verschachtelten Objekten verwenden, um dies zu erreichen. So würde das JSON aussehen:

Tamplating

Wie Sie sehen können, haben wir eine verschachtelte Variable namens „Name“ unter der Ebene „Kunde“, so dass unsere JSON-Struktur dies widerspiegeln muss. Wir definieren zuerst „customer“ und geben an, dass es sich um ein Array handelt, indem wir die eckigen Klammern öffnen. Innerhalb der eckigen Klammern können wir mehrere Paare von geschweiften Klammern verwenden, um verschiedene Werte für die Variable „Name“ zu definieren. Würden wir nicht ein mehrdimensionales Array verwenden (das in einem realen Szenario auch mit einer for-Schleife kombiniert würde), könnten wir die Variable „Name“ nicht mehrfach mit unterschiedlichen Werten verwenden. Wir hätten etwas in der Art von „Name1“, „Name2“, „Name3“, usw. verwenden müssen. Die Verwendung eines mehrdimensionalen Arrays spart uns also Arbeit, macht unser JSON einfacher zu verwalten und erlaubt uns gleichzeitig, dieselbe Variable Name mit verschiedenen Werten wiederzuverwenden.

Im Abschnitt For-Schleife werden wir uns ein weiteres einfaches mehrdimensionales Array sowie ein komplexeres Array (mit mehreren Verschachtelungsebenen) ansehen.

Wenn-Bedingungs-Anweisungen

If-bedingte Anweisungen werden verwendet, um Anforderungen einzuführen, die bestimmen, ob eine bestimmte Information angezeigt werden soll. Sie können auch alternative Werte enthalten, die angezeigt werden sollen, wenn die ursprüngliche Bedingung nicht erfüllt ist, indem else-Anweisungen verwendet werden. Zusätzlich kann eine alternative Bedingung mit Hilfe der elseif-Bedingung eingeführt werden. Eine if-Anweisung muss mit einem endif-Operator abgeschlossen werden.

Normalerweise werden if-Anweisungen mit Hilfe von Schablonensprachblöcken in einer Drag-and-Drop-Schablone eingefügt. Sie können jedoch auch innerhalb von Textelementen hinzugefügt werden. Diese Anweisungen können sowohl in Marketing- als auch in Transaktions-Templates verwendet werden, wobei Transaktions-Templates mehr Flexibilität bieten. In einer Transaktionsvorlage können if-Bedingungen auf der Grundlage der Werte von var-Variablen erstellt werden, die über die Sende-API oder SMTP übertragen werden, sowie auf der Grundlage von Datenvariablen, die mit den Werten der Kontakteigenschaften arbeiten. In einer Marketing-Vorlage können nur Datenvariablen verwendet werden, da es keine Möglichkeit gibt, Werte für var-Variablen zu pushen.

Hier ein Beispiel für eine einfache if-Bedingungsanweisung, die in einer Marketing-Vorlage verwendet wird:

Hier ist ein Beispiel für die Verwendung der Schablonensprache:

{% if data:firstname %}
DIES IN DER MARKETINGNACHRICHT AUSGEBEN
{% endif %}

In diesem Beispiel beginnt die Vorlagensprache mit einer Öffnungsklausel, die die eigentliche Bedingung enthält. Wenn die Bedingung erfüllt ist (d. h. der Empfänger hat einen Wert unter der Eigenschaft „Vorname“), wird der Inhalt des Blocks angezeigt („PRINT THIS IN THE MARKETING MESSAGE“). Die abschließende Klausel bedeutet das Ende des Wenn-Bedingungs-Abschnitts.

Die If-Conditional-Anweisung stützt sich auf eine Contact-Eigenschaft („firstname“). Das System prüft, ob für den Empfänger ein Wert unter der Eigenschaft „Vorname“ gesetzt ist. Ist dies der Fall, wird der Inhalt des Blocks in die endgültige Version der E-Mail aufgenommen. Lautet die Antwort nein, wird die spezifische Zeichenfolge nicht angezeigt.

Hier ist ein Beispiel dafür, wie die endgültige Version der E-Mail für einen Empfänger aussehen könnte, der eine definierte Eigenschaft „Vorname“ hat:

Tamplating

Hier ist ein Beispiel für die endgültige Version der E-Mail für einen Empfänger, der keine definierte „Vorname“-Eigenschaft hat:

Tamplating

Die obige If-Bedingung prüft, ob die Eigenschaft für den Empfänger definiert ist. Sie können jedoch einen bestimmten Wert eingeben, den die Eigenschaft haben muss, damit der bedingte Inhalt gedruckt wird. Zum Beispiel:

Tamplating

In diesem Beispiel wird der bedingte Inhalt „PRINT THIS IN THE MARKETING MESSAGE“ nur dann in der Empfängerversion der Nachricht angezeigt, wenn die Kontakteigenschaft „firstname“ auf den Wert „Gina“ gesetzt ist. Diese Bedingung stellt sicher, dass der Inhalt ausschließlich für Empfänger angezeigt wird, deren Eigenschaft „Vorname“ mit dem angegebenen Wert „Gina“ übereinstimmt.

Schauen wir uns einige Beispiele mit Transaktionsvorlagen genauer an. Diese Beispiele zeigen die Verwendung sowohl von var-Variablen als auch von Template-Sprachelementen, und sie können innerhalb von Textblöcken oder Template-Sprachblöcken angewendet werden.

Beispiel 1: Verwendung einer var-Variable in einer transaktionalen Vorlage

Tamplating

In diesem Beispiel wird geprüft, ob die Variable „var“ definiert ist. Die Bedingung ist entweder wahr oder falsch und wirkt wie eine boolesche Eigenschaft.

Hier sehen Sie, was Sie in verschiedenen Szenarien erwarten können:

  • Wenn die var „variable“ nicht im Aufruf der Sende-API (SAPI) oder der SMTP-Sitzung definiert ist, führt dies zu einem Fehler in der Template-Sprache. Das Hinzufügen eines Standardwerts in der if-Bedingung (var:variable:defaultValueHere) wird bei Empfängern, bei denen die Variable nicht definiert ist, immer „PRINT THIS STRING IN THE TRANSACTIONAL EMAIL“ ausgeben.
  • Wenn die Variable im SAPI-Aufruf oder in der SMTP-Sitzung auf true gesetzt ist, wird die Bedingung erfüllt.
  • Wenn die Variable im SAPI-Aufruf oder in der SMTP-Sitzung als„anyValueYouCanThinkOfOtherThanFalse“ gesetzt ist, wird die Bedingung erfüllt.
  • Wenn die Variable im SAPI-Aufruf oder in der SMTP-Sitzung auf „false“ gesetzt ist, wird die Bedingung NICHT erfüllt. Beachten Sie den Unterschied zwischen „Variable“: „false“ (vorheriges Szenario) und „variable“: false (aktuelles Szenario).

Beispiel 2: Beispiel für andere Vergleichs- und logische Operatoren (else, elseif und ifelse AND)

Tamplating

Dieses Beispiel demonstriert die Verwendung verschiedener Vergleichsoperatoren und logischer Operatoren. Es umfasst die Anweisungen if, else und elseif in Kombination mit dem logischen Operator AND.

Zur Veranschaulichung finden Sie hier einen Screenshot:

Tamplating

Diese Beispiele veranschaulichen, wie var-Variablen und verschiedene Operatoren innerhalb von Transaktionsvorlagen effektiv genutzt werden können, um den Inhalt auf der Grundlage bestimmter Bedingungen anzupassen.

Untersuchen wir nun JSON-Datenpaare und die entsprechenden Ergebnisse, die sie für den Endempfänger erzeugen:

JSON 1:

Tamplating

Tamplating

JSON 2:

Tamplating

Tamplating

JSON 3:

Tamplating

Tamplating

JSON4:

Tamplating

Tamplating

Damit der Wert „Ich überlege, ob ich ausgehe“ angezeigt wird, müssen die folgenden Bedingungen gleichzeitig erfüllt sein: Das „Wetter“ darf nicht „schlecht“ sein, der Wert „bankAccountBalance“ muss ungleich 0 sein und die Variable „haveFreeTime“ muss wahr (oder definiert) sein. Wenn eine dieser drei Bedingungen nicht erfüllt ist, wird der Wert „Ich gehe nicht aus“ oder „Ich bleibe zu Hause“ angezeigt, je nachdem, welche Bedingung nicht erfüllt ist.

Bitte beachten Sie die Verwendung des logischen Operators AND, der die Verwendung von Klammern () erforderlich macht, um die richtige Gruppierung der Bedingungen zu gewährleisten.

For-Schleifen

Mit For-Schleifen können Sie mehrere Iterationen einer Variablen durchlaufen oder eine Liste von Variablen in einer Schleife durchlaufen, was Flexibilität und dynamische Inhalte ermöglicht. Es ist wichtig zu beachten, dass For-Schleifen nur in Transaktionsvorlagen und nicht in Marketingvorlagen verwendet werden sollten, da die Werte oder Iterationen nicht in einer Marketingnachricht eingeführt werden können.

Werfen wir einen Blick auf eine einfache Darstellung einer for-Schleife:

Tamplating

In diesem Beispiel definieren wir eine for-Schleife mit dem Variablennamen „Test“ und geben den Namespace an, in dem das System nach der Variable suchen soll (var:Test). Wir gehen von einer einfachen Variable mit einer Iteration aus. Der API-Aufruf oder die SMTP-Header sollten die folgende JSON-Struktur enthalten:

Tamplating

Bitte beachten Sie, dass der vorhergehende Abschnitt „Mehrdimensionale Arrays“ eine alternative Art der Darstellung derselben Art von Struktur enthält, die auch mit for-Schleifen verwendet werden kann.

Die for-Schleife wird durch die in der JSON-Struktur angegebenen Werte ersetzt. Hier ist ein Beispiel dafür, wie die resultierende Nachricht aussehen würde.

Stellen wir uns nun ein Szenario vor, in dem Sie zum Public Relations-Team eines Unternehmens gehören und eine E-Mail an die Finanzabteilung senden müssen. Sie möchten die Namen, das Land des Wohnsitzes und die Telefonnummern von drei Kunden mitteilen, die bei einem Gewinnspiel Ihres Unternehmens gewonnen haben und deren Kontaktdaten von der Finanzabteilung überprüft werden sollen.

Um dies zu erreichen, können Sie eine for-Schleife in Ihrer Nachricht verwenden, um verschiedene Iterationen desselben Variablennamens (z. B. Name, Telefon usw.) zu durchlaufen und jedes Mal andere Werte anzeigen zu lassen.

Das folgende Beispiel zeigt, wie Sie eine solche Vorlagensprachkonfiguration einrichten können:

Tamplating

In diesem Fall verwenden wir den Variablennamen „customer“, um die im API-Aufruf oder in den SMTP-Headern angegebenen Kundendaten durchzugehen. Die JSON-Struktur sollte diesem Format entsprechen:

Tamplating

Mit diesem Ansatz vereinfachen Sie die JSON-Struktur und verringern das Fehlerrisiko. Die resultierende E-Mail zeigt die Kundendetails auf der Grundlage der angegebenen Wiederholungen an.

Als letztes wollen wir ein komplexeres Beispiel mit einer mehrdimensionalen Array-Struktur untersuchen. In diesem Fall gehen wir von einem Szenario aus, das sich auf Winterbekleidung bezieht.

Hier ist die Konfiguration für die for-Schleife in der Vorlage:

Tamplating

In diesem Beispiel verwenden wir die Variable „value“, die sich unter dem Namensraum „items“ in der JSON-Struktur befindet. Wir spezifizieren zwei Arten von Artikeln (Mäntel und Hüte) mit ihren jeweiligen Variablen, die unter mehreren Ebenen von Variablen verschachtelt sind.

So würde die JSON-Struktur für dieses Beispiel aussehen:

Tamplating

Die resultierende Nachricht würde die Werte für den Wintermantel und die Mütze auf der Grundlage der angegebenen Wiederholungen anzeigen.

Tamplating

Durch die Verwendung von for-Schleifen können Sie dynamisch durch Variablen iterieren und personalisierte Inhalte in Transaktionsvorlagen generieren. Es ist wichtig, die richtige JSON-Struktur sicherzustellen und die Syntax der Vorlagensprache zu befolgen, um die gewünschten Ergebnisse zu erzielen.

Tabelle mit den wichtigsten Informationen zu Wenn-Bedingungs-Anweisungen und For-Schleifen:

Tamplating

Textblöcke – HTML-Blöcke – Blöcke der Vorlagensprache

Bei der Arbeit mit E-Mail-Vorlagen gibt es verschiedene Möglichkeiten, die Strukturen der Vorlagensprache einzubinden. Sie können durch Textblöcke, HTML-Blöcke oder Template Language-Blöcke in DnD-Transaktionsvorlagen eingeführt werden. Außerdem können sie direkt in den Inhalt der E-Mail eingebettet werden.

Im Allgemeinen ist es ratsam, rohe HTML-Inhalte von den Strukturen der Vorlagensprache zu trennen, wann immer dies möglich ist. Wenn es notwendig ist, sie zu kombinieren, z. B. bei der Erstellung einer Tabelle mit variablen Iterationen unter Verwendung einer for-Schleife, ist es im Allgemeinen sicherer, einen HTML-DnD-Block zu verwenden und die Schablonensprache darin zu integrieren, als rohes HTML zu einem Schablonensprachblock hinzuzufügen.

Schablonensprache-Blöcke sind besonders nützlich, wenn Sie mit Wenn-Bedingungs-Anweisungen arbeiten. Jeder Operator innerhalb der If-Bedingung kann in einem separaten Template Language-Block platziert werden, wobei verschiedene andere DnD-Elemente als Inhalt dienen, der auf der Grundlage einer bestimmten Bedingung angezeigt wird. Sie können zum Beispiel ein Bildelement, ein Videoelement oder eine Schaltfläche anzeigen, wenn bestimmte Kriterien erfüllt sind. Es ist möglich, eine for-Schleife oder If-Bedingung in einem Block zu öffnen und in einem anderen zu schließen, was Flexibilität und Organisation bietet.

Um die Übersichtlichkeit und Trennung zu wahren, wird empfohlen, die Strukturen der Vorlagensprache in speziellen Blöcken für die Vorlagensprache zu platzieren, anstatt sie mit anderen Inhalten zu vermischen. Während einfacher Text innerhalb eines Template Language-Blocks hinzugefügt werden kann, ist es am besten, separate Blöcke für komplexere Inhalte zu verwenden. Bei der Kombination von Roh-HTML mit Schablonensprache-Strukturen ist es ratsam, einen Roh-HTML-Block zu verwenden, in dem der Code neben der Schablonensprache gespeichert wird, anstatt Roh-HTML in einen Schablonensprache-Block aufzunehmen.

Funktionen

Wie bereits erwähnt, sind Funktionen ein wesentlicher Bestandteil der Esendex-Vorlagensprache und bieten eine Reihe von Operationen, die vom System ausgeführt werden können. Diese Funktionen ermöglichen Formatierungseffekte in verschiedenen Bereichen, wie z. B.:

  • Mathematische Operationen: Rundung numerischer Werte.
  • Zeichenkettenmanipulationen: Umwandlung von Zeichenketten in Groß- oder Kleinbuchstaben oder Großschreibung des ersten Buchstabens.
  • Zahlenformatierung: Formatierung von Zahlen nach bestimmten Regeln.
  • URL-Kodierung: Konvertierung einer Zeichenkette in ein URL-sicheres Format.
  • String-Escaping: Sicherstellen, dass Sonderzeichen in einer Zeichenfolge ordnungsgemäß kodiert werden.

Durch die Kombination dieser Funktionen mit Variablen, bedingten Anweisungen und Operatoren, die in der Referenz der Esendex-Vorlagensprache erwähnt werden, können Sie hochgradig anpassbare und dynamische Inhalte erstellen.

In diesem Abschnitt werden wir zwei spezifische Funktionen untersuchen: die Set-Funktion und die FormatNumberLocale-Funktion.

Set-Funktion

Die Set-Funktion ist eine leistungsstarke Funktion, mit der wir einer Variablen in der Vorlage oder im E-Mail-Inhalt direkt einen Wert zuweisen können, ohne dass die Variable im SAPI-Aufruf oder in der SMTP-Sitzung deklariert werden muss.

Schauen wir uns ein Beispiel an:

Im obigen Beispiel verwenden wir die Funktion Set, um der Variablen „testVar“ innerhalb der Vorlage selbst einen Wert zuzuweisen. In der nächsten Zeile wird die gleiche Variable in einem Satz verwendet.

Mithilfe der Set-Funktion kann ich eine Nachricht mit einem leeren Variablenobjekt wie folgt einfügen:

Tamplating

Dieser Ansatz ermöglicht es uns, Nachrichten zu senden, ohne die Variable im API-Aufruf explizit zu definieren, und die Nachricht wird nicht blockiert. Hier ist das Ergebnis, wenn die Nachricht gesendet wird:

Tamplating

Einer der interessanten Aspekte der Set-Funktion ist, dass Sie sie innerhalb desselben Inhalts mehrfach verwenden können, um den Wert derselben Variablen zu aktualisieren. Sehen wir uns ein Beispiel an, das eine Anweisung korrigiert:

Im obigen Beispiel aktualisieren wir den Wert der Variablen „testVar“ innerhalb der Vorlage. Die zweite Zuweisung überschreibt den ursprünglichen Wert, was zu der folgenden Ausgabe führt:

Es ist wichtig zu beachten, dass, wenn Sie einen Wert für dieselbe Variable über den API-Aufruf oder die SMTP-Sitzung übergeben, dieser nicht den Wert überschreibt, der mit der Set-Funktion innerhalb der Vorlage festgelegt wurde.

FormatNumberLocale-Funktion

Mit der Funktion FormatNumberLocale können Sie Fließkommazahlen (Zahlen mit Dezimalbrüchen) nach bestimmten Regeln formatieren. Sie stützt sich auf drei Eigenschaften:

  • Format: Gibt das gewünschte Format der Zahl an.
  • Zahl: Gibt die Zahl an, die formatiert werden soll.
  • Gebietsschema: Wählt das Gebietsschema aus, um den Dezimalpunkt und das Tausendertrennzeichen festzulegen.

Betrachten Sie zum Beispiel den folgenden Vorlagencode:

Tamplating

In diesem Beispiel verwenden wir das französische Gebietsschema („fr_FR“), um die Zahl 3500 mit dem Format „#,###.00“ zu formatieren. Das Ergebnis wird sein:

Tamplating

Wie Sie sehen, enthält die Zahl nun Tausendertrennzeichen und Dezimalpunkte gemäß dem französischen Format.

Die Funktion FormatNumberLocale unterstützt auch andere Formatvarianten, wie z. B.:

Tamplating

Diese Beispiele zeigen, wie geringfügige Abweichungen im Format das Ergebnis beeinflussen können. Das Gebietsschema „en_GB“ wird für die Formatierung verwendet. Die Ausgaben werden sein:

Tamplating

Achten Sie bei der Verwendung dynamischer Variablen mit der Funktion FormatNumberLocale auf die korrekte Syntax:

Tamplating

Stellen Sie sicher, dass die Variable „var:VarName“ ohne Anführungszeichen oder Klammern angegeben wird. Geben Sie außerdem den Wert für die Variable als Ganzzahl im API-Aufruf oder in der SMTP-Sitzung an:

Tamplating

Die Verwendung von Anführungszeichen um den Wert herum führt zu Fehlern in der Schablonensprache.

Diese Funktionen und die umfangreichen Möglichkeiten der Esendex-Vorlagensprache ermöglichen es Ihnen, hochgradig individuelle und dynamische Inhalte in Ihren E-Mails zu erstellen.

Zusätzliche Anmerkungen

Es ist erwähnenswert, dass Variablen außerhalb von Textfeldern, HTML- oder Template Language-Blöcken hinzugefügt werden können. Sie können Variablen in verschiedene andere Elemente einfügen, z. B. Hyperlinks, Schaltflächen und Bild-URLs in Image-DnD-Elementen.

Wenn Sie eine Variable in einem Hyperlink oder in der URL einer Schaltfläche verwenden, können Sie einen Standard-Variablenwert verwenden. Es ist jedoch wichtig zu beachten, dass Sie keine Standardvariable innerhalb der URL eines Image-DnD-Elements verwenden können. Das System erlaubt Ihnen zwar, die Variable im URL-Feld mit einem Standardwert zu speichern, entfernt diesen aber sofort.

Bitte beachten Sie, dass das Hinzufügen einer Standardvariablen innerhalb des Links eines Schaltflächenelements oder eines Hyperlinks möglich ist und problemlos funktioniert. Es kann jedoch sein, dass Sie eine Fehlermeldung im Editor erhalten, die Sie ignorieren können. Achten Sie darauf, dass der Standardwert ohne Anführungszeichen und ohne ein HTTP/HTTPS-Protokoll am Anfang hinzugefügt wird. Zum Beispiel: {{var:Link:www.esendex.com}}

Verwaltung von Vorlagenfehlern

In diesem umfassenden Artikel erfahren Sie, wie Sie die Esendex-Funktion zur Verwaltung von Vorlagenfehlern nutzen können. Diese leistungsstarke Funktion automatisiert die Überprüfung Ihrer Vorlagen, spart Ihnen wertvolle Zeit und macht manuelle Überprüfungen überflüssig. Verabschieden Sie sich von der mühsamen Aufgabe, jede Vorlage einzeln zu überprüfen, und begrüßen Sie einen rationalisierten Ansatz für ein effizientes Fehlermanagement.

Ein weiterer wichtiger Punkt, den es zu beachten gilt, ist die Deklaration von Variablen im SAPI-Aufruf/SMTP-Session. Sie sollte genau dem entsprechen, wie sie im Inhalt der Nachricht hinzugefügt wurden. Die Groß- und Kleinschreibung spielt eine entscheidende Rolle, achten Sie also auf Abweichungen in der Groß- und Kleinschreibung. Wenn ein Punkt (.) in Variablen verwendet wird, weist er auf mehrdimensionale Objekte oder Arrays hin. Wenn ein Trennzeichen benötigt wird, anstatt eine mehrdimensionale Struktur zu kennzeichnen, ist ein Unterstrich (_) eine bessere Wahl als ein Punkt.

Ich brauche mehr Hilfe

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Aktueller Servicestatus

Sie können nicht finden, was Sie suchen?

Sprechen Sie mit einem Mitglied unseres Support-Teams.