Transaktions-Mails über HTTP-API konfigurieren
Dieses Kapitel richtet sich an Administratoren und Entwickler mit Administratorrechten in Magento 2.
Dieses Kapitel beschreibt, wie Sie den Versand von Transaktions-Mails Eine E-Mail, die im Anschluss an eine bestimmte Aktion des Empfängers (z. B., wenn er etwas bestellt oder kauft) oder an ein bestimmtes Ereignis (z. B. ein Jahrestag) versendet wird. über die HTTP-API Steht für „Application Programming Interface“, auch Programmierschnittstelle. Die API gibt an, wie Softwarekomponenten miteinander interagieren sollen, z. B. wenn auf Datenbanken oder Computerhardware zugegriffen wird. Sie vereinfacht außerdem die Programmierung von grafischen Benutzeroberflächen. APIs haben oft die Form von Bibliotheken mit Angaben zu Routinen, Datenstrukturen, Objektklassen und Variablen. für Magento 2 konfigurieren. Informationen darüber, wie Sie Ihre Transaktions-Mails über die SMTP-API versenden, finden Sie unter Transaktions-Mails über SMTP-API.
Funktionsweise
Der Versand von Transaktions-Mails über die HTTP-API erfolgt über zwei Vorlagen:
- eine Sender-Vorlage in Magento 2, die allein die Variablen der Transaktion (z. B. den Kundenamen, die bestellten Produkte und so weiter) über die HTTP-API sendet
- eine Empfänger-Vorlage in Optimizely Campaign, die mithilfe von Feldfunktionen die gesendeten Variablen an die entsprechenden Stellen einfügt und so die fertige, gestaltete Transaktions-Mail erstellt
Das Senden und der Empfang der Variablen erfolgt über die Transaktions-Empfängerliste als Zwischenspeicher.
- Die Magento-2-Vorlage sendet die Variablen.
- Die Variablen werden in die Transaktions-Empfängerliste geschrieben: jede Variable in ihr entsprechendes Empfängerlistenfeld.
- Mithilfe von Feldfunktionen übernimmt die Optimizely Campaign Vorlage die einzelnen Variablen aus der Transaktions-Empfängerliste und platziert sie an die gewünschte Stelle in der Transaktions-Mail.
Konfigurationsschritte
- Richten Sie eine Transaktions-Empfängerliste ein.
- Konfigurieren Sie die Vorlage in Optimizely Campaign.
- Erstellen und aktivieren Sie die Vorlage in Magento 2.
- Konfigurieren Sie Transaktions-Mails und übertragen Sie Magento-2-Variablen.
Schritt 1: Transaktions-Empfängerliste einrichten
Beauftragen Sie die Kundenbetreuung mit der Einrichtung einer Transaktions-Empfängerliste. Planen Sie im Vorfeld, welche Variablen Sie aus Magento 2 für Ihre Transaktions-Mails zu Optimizely Campaign übertragen möchten.
Listen Sie alle Magento-2-Variablen auf, für die Sie in Ihrer Transaktions-Empfängerliste ein entsprechendes Empfängerlistenfeld benötigen. Teilen Sie Optimizely zudem die gewünschten Namen der Empfängerlistenfelder mit.
Der Umfang der Transaktions-Empfängerliste ist eingeschränkt. Sie sollten daher generische Namen für die Empfängerlistenfelder beauftragen, z. B. custom_string_1, custom_string_2, custom_date_1 und so weiter).
Schritt 2: Vorlage in Optimizely Campaign erstellen
Erstellen Sie die Vorlage in Optimizely Campaign, fügen Sie die gewünschten Transaktions-Mail-Texte ein (die unveränderlichen, statischen Texte, die alle Empfänger gleichermaßen erhalten sollen) und fügen Sie Feldfunktionen an den Stellen ein, an denen die Inhalte der Magento-2-Variablen stehen sollen,
Feldfunktionen
Feldfunktionen sind Platzhalter, die auf ein bestimmtes Empfängerlistenfeld in Ihrer Transaktions-Empfängerliste verweisen. Die von Magento 2 gesendeten Variablen beziehungsweise die Inhalte der Variablen werden zunächst in die jeweiligen Empfängerlistenfelder Ihrer Transaktions-Empfängerliste geschrieben. Die von Ihnen platzierten Feldfunktion laden im nächsten Schritt den jeweiligen Inhalt aus dem referenzierten Empfängerlistenfeld.
Um einen Transaktions-Mail-Text einrichten, der später jeden Kunden mit seinem Nachnamen begrüßt und das Bestelldatum nennt, benötigen Sie die Variablen salutation (Anrede), lastname (Nachname) und orderdate (Bestelldatum).
Diese drei Variablen-Inhalte werden zunächst in ein entsprechendes Empfängerlistenfeld Ihrer Transaktions-Empfängerliste geschrieben (von Ihrem Magento-2-System über die HTTP-API). Um auf diese Empfängerlistenfelder zuzugreifen, fügen Sie die einzelnen Feldfunktionen in die Optimizely Campaign Vorlage ein und setzen Sie den Namen des jeweiligen Empfängerlistenfeldes in geschweifte Klammern. Um die Variableninhalte aus dem jeweiligen Empfängerlistenfeld der Transaktions-Empfängerliste zu importieren, könnte der statische Text und die Feldfunktionen in Ihrer Optimizely Campaign Vorlage folgendermaßen aussehen:
Hallo, {salutation} {lastname}!
Vielen Dank für Ihre Bestellung vom {orderdate}.
Das Beispiel wird später in der versendeten Transaktions-Mail folgendermaßen angezeigt:
Hallo, Herr Müller!
Vielen Dank für Ihre Bestellung vom 3. August.
Statische Texte und Feldfunktionen in eine Vorlage einfügen
- Wählen Sie im Optimizely Campaign Menü Kampagnen > Transaktions-Mails.
- Klicken Sie auf Erstellen.
- Ziehen Sie aus dem linken Aktionsbereich den Empfänger-Knoten Element, das festlegt, wann ein Empfänger eine Kampagne durchläuft und welchen Weg er dabei einschlägt. Sie können Knoten miteinander verbinden und so den Ablauf Ihrer Kampagne bestimmen. Der Pfeil am Ende jeder Verbindung zeigt jeweils auf den Nachfolgeknoten und die damit verbundene Aktion. in die Arbeitsfläche.
- Wählen Sie in der Drop-down-Liste Empfängerlisten Ihre Transaktions-Empfängerliste aus.
Die Kundenbetreuung hat für Sie eine gesonderte Transaktions-Empfängerliste eingerichtet. Verwenden Sie ausschließlich diese Transaktions-Empfängerliste und keine reguläre Empfängerliste. Ob eine Empfängerliste eine Transaktions-Empfängerliste ist, sehen Sie in der Spalte Transaction API.
- Ziehen Sie aus der linken Seitenleiste den Nachrichtenknoten des gewünschten Marketing-Kanals Kanal, über den Werbebotschaften oder Informationen an Kunden und Interessenten übermittelt werden. Zum Beispiel E-Mail, SMS, Print oder Push. (E-Mail, SMS) in die Arbeitsfläche.
- Vergeben Sie im Kontextmenü im Feld Name einen prägnanten Namen für Ihre Transaktions-Mail (z. B. Bestellbestätigung).
- Klicken Sie im Kontextmenü des Nachrichtenknotens auf Inhalt bearbeiten.
- Wählen Sie aus der Liste Vorlage die gewünschte Vorlage aus und bestätigen Sie Ihre Auswahl, indem Sie auf Weiter klicken.
- Konfigurieren und gestalten Sie die Vorlage für die Transaktions-Mail nach Ihren Anforderungen. Geben Sie einen Betreff ein und fügen Sie in die Inhaltsparagraphen die statischen Texte ein, die alle Empfänger gleichermaßen erhalten sollen. Fügen Sie wiederum an den Stellen, an denen die aus der Magento-2-Vorlage gelieferten Variablen erscheinen sollen, die entsprechende Feldfunktion für das Empfängerlistenfeld der Transaktions-Empfängerliste ein (siehe Beispiel oben).
- Klicken Sie auf Schließen.
- Verbinden Sie den Empfänger-Knoten mit dem Nachrichtenknoten.
- Klicken Sie auf Speichern und schließen.
- Um Ihre Transaktions-Mail zu aktivieren und damit den Versand zu starten, wählen Sie sie in der Übersicht aus und klicken Sie auf Starten.
Schritt 3: Vorlage in Magento 2 erstellen
Erstellen Sie in Magento 2 die Vorlage, die die Variablen über die HTTP-API an Optimizely Campaign sendet.
Voraussetzungen
- Autorisierungs-Code. Für Ihre Transaktions-Empfängerliste in Optimizely Campaign.
Wählen Sie im Optimizely Campaign Menü Verwaltung > API-Übersicht > Empfängerlisten und wählen Sie die Transaktions-Empfängerliste aus. Klicken Sie auf Autorisierungs-Codes verwalten und kopieren Sie den Autorisierungs-Code aus der Liste. Wenn für die gewählte Empfängerliste noch kein Autorisierungs-Code vorhanden ist, klicken Sie auf Autorisierungs-Code erstellen.
- Mailing-ID. Für die Vorlage in Optimizely Campaign.
Wählen Sie im Optimizely Campaign Menü Kampagnen > Transaktions-Mails. Kopieren Sie die entsprechende Mailing-ID der Vorlage aus der Spalte ID.
Konfigurationsmöglichkeiten
Sie haben zwei Möglichkeiten, in Ihrem Magento-2-System eine Vorlage zur Variablen-Übergabe zu konfigurieren:
- Verwenden Sie eine in der Standard-Installation von Magento 2 enthaltene Vorlage und passen diese an Ihre Anforderungen an. Wenn Sie sich für diese Option entscheiden, wird der HTML-Code der Vorlage in das Feld Template Content geladen. Der Code enthält die zur Verfügung stehenden Variablen, wie beispielsweise
{{trans "%name," name=$customer.name}}
(zur Anrede des Kunden mit seinem Namen). Bereinigen Sie die Vorlage vollständig um den HTML-Code und reduzieren Sie die Vorlage auf die Variablen. Mappen Sie im nächsten Schritt die entsprechenden Empfängerlistenfelder Ihrer Transaktions-Empfängerliste in Optimizely Campaign. Weitere Informationen finden Sie unter Mappen ("Zuweisen"): So gehen Sie vor. - Erstellen Sie eine neue, leere Vorlage und fügen die Variablen manuell ein, die an Optimizely Campaign über die HTTP-API gesendet werden sollen.
Folgen Sie den nachfolgenden Schritten, um eine neue, leere Vorlage zu erstellen, die Variablen manuell einzufügen und mit den Empfängerlistenfeldern Ihrer Transaktions-Empfängerliste zu mappen.
- Melden Sie sich in Magento-2 mit Administrator-Rechten an.
- Wählen Sie Marketing > Email Templates.
Wenn Sie Vorlagen erstellen beziehungsweise bereits erstellt haben, die an Optimizely Campaign versendet werden, werden diese als Vorlagentyp Episerver angezeigt.
- Klicken Sie auf Add New Template.
- Geben Sie im Bereich Template Information die folgenden Daten ein:
- Template Name. Geben Sie einen Namen für die neue Vorlage ein.
- Template Subject. Lassen Sie das Feld frei.
Der Betreff wird später automatisch ausgefüllt – mit dem Betreff der Vorlage, die Sie in Optimizely Campaign erstellt haben.
- Episerver Campaign. Wählen Sie Enabled aus.
- Authorisation Code. Geben Sie den Autorisierungs-Code der Transaktions-Empfängerliste in Optimizely Campaign ein.
- bmMailingId. Geben Sie die Mailing-ID der Vorlage in Optimizely Campaign ein.
- Geben Sie im Feld Template Information ein, welche Variablen aus dem Magento-2-System an welches Empfängerlistenfeld der Transaktions-Empfängerliste in Optimizely Campaign übertragen werden sollen. Um eine Variable hinzuzufügen, klicken Sie auf Insert Variable...
- Klicken Sie auf die gewünschte Variable.
-
Mappen Sie die eingefügte Variable mit dem entsprechenden Empfängerlistenfeld in Optimizely Campaign und fügen Sie bei Bedarf weitere Variablen hinzu, indem Sie auf Insert Variable... klicken.Mappen: So gehen Sie vor
Die Magento-2-Integration von Optimizely Campaign verwendet folgenden Aufbau für das Mapping:
Name des Empfängerlistenfeldes=Name der Magento-2-Variablen
Geben Sie die Mapping-Anweisung für jede Variable zeilenweise ein und trennen Sie die einzelnen Variablen/Mapping-Anweisungen mit einem Zeilenumbruch.
Beispiel:
lastname={{config path="trans_email/ident_custom1/name"}}
url={{config path="web/secure/base_url"}}
Mit den beiden Beispielzeilen mappen und übertragen Sie:
- in das Transaktions-Empfängerlistenfeld lastname den Wert der Magento-2-Variablen
{{config path="trans_email/ident_custom1/name"}}
- in das Transaktions-Empfängerlistenfeld url den Wert der Magento-2-Variablen
{{config path="web/secure/base_url"}}
- in das Transaktions-Empfängerlistenfeld lastname den Wert der Magento-2-Variablen
- Klicken Sie auf Save Template.
- Wenn Sie die Vorlage in Ihrem Magento-2-System erstellt haben, müssen Sie diese aktivieren und einem Ereignis (zum Beispiel einem Bestell-Vorgang, einer Newsletter-Anmeldung und so weiter) zuweisen. An welcher Stelle in der Admin-Oberfläche Sie die Vorlage einem Ereignis zuweisen und aktivieren, ist vom Typ des Ereignisses abhängig.
Beispiel: Um die Vorlage dem Ereignis-Typ Bestellung zuzuweisen und zu aktivieren, führen Sie die folgenden Schritte aus:
- Wechseln Sie zu Stores > Configuration.
- Klicken Sie im linken Bildschirmbereich auf Sales > Sales Emails
- Aktivieren Sie die Vorlage, indem Sie diese im Bereich Order in der Drop-down-Liste New Order Confirmation Template auswählen.
- Speichern Sie Ihre Änderungen.
Schritt 4: Transaktions-Mails konfigurieren und Magento-2-Variablen übertragen
Um die Rechnungsanschrift, die Lieferanschrift und die Bestellungen eines Kunden mit der Vorlage in Magento 2 zur Vorlage in Optimizely Campaign zu übertragen, müssen Sie weitere Konfigurationen vornehmen und u. a. eine spezielle Feldfunktion (für den Zugriff auf Bestellungen) in Ihrem Optimizely Campaign Mandanten erstellen.
Magento 2 stellt die Rechnungsanschrift, die Lieferanschrift und die Bestellungen eines Kunden nicht als einfachen Text in einzelnen Variablen zur Verfügung, sondern als HTML-Code. Der HTML-Code muss in einfachen Text umgewandelt werden, damit Optimizely Campaign die Informationen verarbeiten kann.
HTML-Codes in einfachen Text umwandeln
Zur Umwandlung des HTML-Codes in einfachen Text stellt die Magento-2-Integration drei Funktionen zur Verfügung:
getOptivoBillingData( )
Mit der Funktion getOptivoBillingData( )
erhalten Sie Zugriff auf die einzelnen Parameter der Rechnungsanschrift. Die Funktion steht Ihnen über die folgende Anweisung zur Verfügung, hier beispielhaft für die Anrede des Kunden:
{{var order.getOptivoBillingData('salutation')}}
Mit dem Mapping folgenden übertragen Sie in das Empfängerlistenfeld salutation den Rückgabewert des Funktionsaufrufs (Parameter salutation) als einfachen Text:
salutation={{var order.getOptivoBillingData('salutation')}}
Nr. | Parameter | Beschreibung |
---|---|---|
1 | salutation | Anrede |
2 | firstname | Vorname |
3 | middlename | zweiter Vorname |
4 | lastname | Nachname |
5 | company | Firma |
6 | E-Mail-Adresse | |
7 | telephone | Telefonnummer |
8 | suffix | Durchwahl |
9 | fax | Faxnummer |
10 | street | Straße |
11 | postcode | Postleitzahl |
12 | city | Stadt |
13 | region | Region/Bundesland |
14 | country | Land |
getOptivoShippingData()
Mit der Funktion getOptivoShippingData( )
erhalten Sie Zugriff auf die einzelnen Parameter der Lieferanschrift des Kunden. Die Funktion steht Ihnen über die folgende Anweisung zur Verfügung, hier beispielhaft für den Nachnamen des Kunden:
{{var order.getOptivoShippingData('lastname')}}
Mit dem folgenden Mapping übertragen Sie in das Empfängerlistenfeld lastname den Rückgabewert des Funktionsaufrufs (Parameter lastname) als einfachen Text:
lastname={{var order.getOptivoShippingData('lastname')}}
Nr. | Parameter | Beschreibung |
---|---|---|
1 | salutation | Anrede |
2 | firstname | Vorname |
3 | middlename | zweiter Vorname |
4 | lastname | Nachname |
5 | company | Firma |
6 | E-Mail-Adresse | |
7 | telephone | Telefonnummer |
8 | suffix | Durchwahl |
9 | fax | Faxnummer |
10 | street | Straße |
11 | postcode | Postleitzahl |
12 | city | Stadt |
13 | region | Region/Bundesland |
14 | country | Land |
getOptivoOrderData()
Mit der Funktion getOptivoOrderData( )
erhalten Sie Zugriff auf die Bestellungen des Kunden.
Die Funktion zum Zugriff auf Bestellungen unterscheidet sich von den Funktionen zum Zugriff auf die Rechnungsanschrift und die Lieferanschrift. Sie übergeben nicht einzelne Parameter an jeweils ein Empängerlistenfeld, sondern eine Liste mit mehreren Parametern an ein einzelnes Empfängerlistenfeld.
Die Funktion steht Ihnen über die folgende Anweisung zur Verfügung, hier beispielhaft für Produkt-ID, Lagereinheit, Produktname, bestellte Menge und Preis:
{{var order.getOptivoOrderData('product_id','sku','name','qty_ordered','price')}}
Mit dem Mapping folgenden übertragen Sie in das Empfängerlistenfeld order_positions_csv eine Zeichenfolge mit den genannten Bestellinformationen:
order_positions_csv={{var order.getOptivoOrderData('product_id','sku','name','qty_ordered','price')}}
Nr. | Parameter |
---|---|
1 | increment_id |
2 | state |
3 | status |
4 | coupon_code |
5 | shipping_description |
6 | is_virtual |
7 | store_id |
8 | base_discount_amount |
9 | base_discount_canceled |
10 | base_discount_invoiced |
11 | base_discount_refunded |
12 | base_grand_total |
13 | base_shipping_amount |
14 | base_shipping_canceled |
15 | base_shipping_invoiced |
16 | base_shipping_refunded |
17 | base_shipping_tax_amount |
18 | base_shipping_tax_refunded |
19 | base_subtotal |
20 | base_subtotal_canceled |
21 | base_subtotal_invoiced |
22 | base_subtotal_refunded |
23 | base_tax_amount |
24 | base_tax_canceled |
25 | base_tax_invoiced |
26 | base_tax_refunded |
27 | base_to_global_rate |
28 | base_to_order_rate |
29 | base_total_canceled |
30 | base_total_invoiced |
31 | base_total_invoiced_cost |
32 | base_total_offline_refunded |
33 | base_total_online_refunded |
34 | base_total_paid |
35 | base_total_qty_ordered |
36 | base_total_refunded |
37 | discount_amount |
38 | discount_canceled |
39 | discount_invoiced |
40 | discount_refunded |
41 | grand_total |
42 | shipping_amount |
43 | shipping_canceled |
44 | shipping_invoiced |
45 | shipping_refunded |
46 | shipping_tax_amount |
47 | shipping_tax_refunded |
48 | store_to_base_rate |
49 | store_to_order_rate |
50 | subtotal |
51 | subtotal_canceled |
52 | subtotal_invoiced |
53 | subtotal_refunded |
54 | tax_amount |
55 | tax_canceled |
56 | tax_invoiced |
57 | tax_refunded |
58 | total_canceled |
59 | total_invoiced |
60 | total_offline_refunded |
61 | total_online_refunded |
62 | total_paid |
63 | total_qty_ordered |
64 | total_refunded |
65 | base_shipping_discount_amount |
66 | base_subtotal_incl_tax |
67 | base_total_due |
68 | shipping_discount_amount |
69 | subtotal_incl_tax |
70 | total_due |
71 | base_currency_code |
72 | discount_description |
73 | global_currency_code |
74 | order_currency_code |
75 | shipping_method |
76 | store_currency_code |
77 | store_name |
78 | customer_note |
79 | created_at |
80 | updated_at |
81 | total_item_count |
82 | shipping_incl_tax |
83 | base_shipping_incl_tax |
84 | coupon_rule_name |
Nach der Übertragung zu Optimizely Campaign werden die einzelnen Parameter im Empfängerlistenfeld Ihrer Transaktions-Empfängerliste durch ein Semikolon getrennt. Wenn mehrere Produkte übertragen wurden, werden die einzelnen Produkte durch einen Zeilenumbruch getrennt. Die in das Empfängerlistenfeld geschriebene Zeichenfolge entspricht dem Aufbau einer Tabelle, die im CSV-Format gespeichert wurde.
Spezielle Feldfunktion für Bestelldaten erstellen
Wenn Sie Bestelldaten in einer Transaktions-Mail verwenden möchten, müssen Sie eine neue, spezielle Feldfunktion in Ihrem Optimizely Campaign Mandanten erstellen. Diese muss die Template-Engine von Optimizely Campaign nutzen, um die Zeichenfolge in HTML zu überführen. Folgen Sie dazu den folgenden Schritten:
- Wählen Sie im Optimizely Campaign Menü Verwaltung > Feldfunktionen.
Sollte der Menüpunkt Feldfunktionen nicht in Ihrem Mandanten verfügbar sein, wenden Sie sich an die Kundenbetreuung
- Klicken Sie auf Hinzufügen.
- Geben Sie unter Allgemein im Feld Name einen prägnanten Namen für die neue Feldfunktion ein, z. B. CSVBestellObjekte.
- Wählen Sie in der Drop-down-Liste Typ die Option Velocity aus.
- Geben Sie im Bereich Inhalte im Reiter Standard-Ersetzung in das Feld Standard-Ersetzung folgenden Code ein:
<table> <tr> <td>Produkt-ID</td><td>SKU</td><td>Name</td><td>Anzahl</td> <td>Preis</td> </tr> #set ($csvContent = $csv.readFromString($user.data.order_positions_csv)) #foreach($row in $csvContent) <tr> #foreach($item in $row) <td> $item </td> #end </tr> #end </table>
- Klicken Sie auf Speichern.
Fügen Sie die Feldfunktion an der gewünschten Stelle in der Optimizely-Vorlage ein. Wenn die Transaktions-Mail Eine E-Mail, die im Anschluss an eine bestimmte Aktion des Empfängers (z. B., wenn er etwas bestellt oder kauft) oder an ein bestimmtes Ereignis (z. B. ein Jahrestag) versendet wird. versendet wird und das Empfängerlistenfeld order_positions_csv ein CSV-Kontextobjekt enthält, wird in der versendeten Transaktions-Mail eine einfache HTML-Tabelle angezeigt.
Wenn Sie über HTML-Kenntnisse verfügen, können Die das Layout der Tabelle an Ihre Anforderungen anpassen. Sehen Sie dazu auch Feldfunktionen.