Konzept

Events sind die Konnektoren zu Ihrem Quellsystem. Über Events definieren Sie, welche Daten in welchem Datentyp Inxmail Commerce vom Quellsystem erwartet. Alle Daten, die der Redakteur für die Personalisierung der zu diesem Event gehörigen Mailings benötigt, müssen in der Event-Konfiguration definiert werden.

Beispiel: Datenübergabe an ein Event

Event-Konfiguration:

Copy
<?xmlversion="1.0" encoding="UTF-8" standalone="no"?>
<event xmlns="http://www.inxmail.com/xcom/eventtype">
    <eventtype>
        <id>example_event_id</id>
    </eventtype>
    <customermapping/>
    <customeremail>Customer.Email</customeremail>
    <phgroup>
        <id>Customer</id>
        <placeholder>
            <id>Email</id>
            <datatype-string/>
        </placeholder>
    </phgroup>
</event>

Daten, die für das Event via REST-API übergeben werden:

Copy
curl -X POST -u 'keyid:secret' -H 'Content-Type: application/json' -d '{ "event": "example_event_id","payload": {"Customer": { "Email": "email@invalid.invalid" }}' 'http://{spaceid}.api.inxmail-commerce.com/api-service/v1/events'

Hinweis: Sie können die mit der Event-Konfiguration korrespondierende JSON-Struktur über den Button JSON generieren erzeugen.

Aufbau eines Events

Copy
<eventtype>
    <id>example_event_id</id>
</eventtype>

Die <id> des <eventtype> ist der Schlüssel des Events und definiert die Zuordnung von eingehenden Daten zu einem Event.

Hinweis: Diese <id> kann nach der Anlage des Events nicht verändert werden.

Copy
<customermapping/>

(Optional) Eine E-Mail-Adresse muss nicht immer eindeutig einem Kunden zugeordnet sein. Benötigen Sie für eine spätere Auswertung der Responsedaten eine genaue Zuordnung, so können Sie eine für den Kunden eindeutige Id übergeben (z.B. Kundennummer). Der Platzhalter, der diesen Wert enthält, ist mit dem Tag <customermapping> zu referenzieren.

Copy
<customeremail>
Customer.Email
</customeremail>

Über das Tag <customeremail> wird definiert, welches Datenfeld die E-Mail-Adresse enthält, an die der Mailversand beim Eingang der Daten ausgelöst werden soll.

Copy
<phgroup>
    <id>Customer</id>
    <placeholder>
        <id>Email</id>
        <datatype-string/>
    </placeholder>
</phgroup> 

<placeholder> entsprechen einem Datenwert der eingehenden Daten. Die <id> dient auch hier als Schlüssel zur Zuordnung des eingehenden Datenwerts. Für jeden <placeholder> ist zu definieren, von welchem <datatype> dieser ist. <placeholder> müssen in Platzhaltergruppen <phgroup> eingebettet werden. Dies dient einer besseren Übersichtlichkeit für den Redakteur bei Verwendung von Platzhaltern während der Mailerstellung.

Konventionen

<id>s von <placeholder>,<phgroup> oder <phlist> müssen mit Großbuchstaben beginnen. Eine Schachtelung der einzelnen Elemente ist in beliebiger Tiefe möglich.

Verfügbare Datentypen

Für spätere Berechnungen oder Lokalisierungen im Mailing kann es erforderlich sein, bestimmte eingehende Daten nicht als String zu interpretieren. In diesem Fall stehen Ihnen die folgenden Daten-Typen zur Verfügung:

Datentyp

Beschreibung

<datatype-string/>

Verwendung für eingehende Daten vom Typ String.

<datatype-integer/>

Verwendung für eingehende numerische Daten bis 32-bit.

<datatype-long/>

Verwendung für eingehende numerische Daten bis 64-bit.

<datatype-double/>

Verwendung für eingehende numerische Daten mit Dezimaltrennzeichen bis 64-bit.

<datatype-boolean/>

Verwendung für eingehende binäre Daten.

<datatype-datetime/>

Verwendung für eingehende Datums-Werte.

Verwendung von Listen

Copy
<phlist>
    <id>OrderItems</id>
    <placeholder>
        <id>Sku</id>
        <datatype-string/>
    </placeholder>
</phlist>

Wenn Sie innerhalb eines Events ein Array von Daten für einen einzelnen Platzhalter übergeben möchten, so müssen diese Platzhalter innerhalb von Platzhalterlisten <phlist> eingebettet werden.

Oberflächenbezeichnungen vergeben (optional)

Copy
<placeholder>
    <id>ID</id>
        <translation language="en">CustomerId</translation>
        <translation language="de">KundenId</translation>
</placeholder>

Sind keine Übersetzungen für die GUI angegeben, so werden für die einzelnen Platzhalter und Gruppen die <id>s für die Auswahl in der GUI herangezogen.

Mittels <translation language="en/de"> können Sie gezielt gut verständliche Übersetzungen für den Redakteur hinterlegen.

Permission-basiertes Tracking einrichten (optional)

Copy
<customertracking>Customer.Tracking</customertracking>

Über das Tag <customertracking> wird definiert, welches Datenfeld die Information zur Einwilligung in personenbezogenes Tracking enthält.

Copy
<placeholder>
    <id>Tracking</id>
        <translation language="en">Tracking</translation>
        <translation language="de">Tracking</translation>
        <datatype-boolean/>
</placeholder>

Die korrekte Übertragung des Datenwerts erfolgt über einen Tag <placeholder>.

Der Platzhalter muss vom Datentyp Boolean sein.

Weitere Informationen

Weitere Informationen zur Event-Konfiguration finden Sie in der Onlinehilfe im Abschnitt Events.