Funktionsweise der Ereignisbeschreibung about-event-desc

Transaktionsnachrichten-Datenmodell about-mc-datamodel

Transaktionsnachrichten basieren auf dem Adobe Campaign-Datenmodell und verwenden zwei zusätzliche, separate Tabellen. Diese Tabellen, NmsRtEvent und NmsBatchEvent, enthalten dieselben Felder, wobei die eine zur Verwaltung von Echtzeit-Ereignissen dient, die andere zur Verwaltung von Batch-Ereignissen.

SOAP-Methoden soap-methods

In diesem Abschnitt werden die in Zusammenhang mit den Schemata des Transaktionsnachrichten-Moduls verwendeten SOAP-Methoden beschrieben.

Zwei PushEvent oder PushEvents SOAP-Methoden sind mit den beiden nms:rtEvent und nms:BatchEvent-Datenschemata verknüpft. Das Informationssystem bestimmt hierbei, ob es sich um ein “Batch”- oder “Echtzeit”-Ereignis handelt.

  • PushEvent ermöglicht das Einfügen eines einzelnen Ereignisses in eine Nachricht,
  • PushEvents ermöglicht das Einfügen einer Kollektion von Ereignissen in eine Nachricht.

Die WSDL-Zugriffspfade der zwei Methoden lauten:

  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent, um auf das Echtzeit-Typschema zuzugreifen.
  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:batchEvent, um auf das Stapeltypschema zuzugreifen.

Beide Methoden enthalten ein <urn:sessiontoken>-Element zum Anmelden beim Modul für den Transaktionsnachrichtenversand. Wir empfehlen die Verwendung einer Authentifizierungsmethode über vertrauenswürdige IP-Adressen. Um das Sitzungstoken abzurufen, führen Sie einen SOAP-Aufruf zur Anmeldung und dann ein GET-Token gefolgt von einer Abmeldung durch. Verwenden Sie dasselbe Token für mehrere RT-Aufrufe. Die in diesem Abschnitt enthaltenen Beispiele verwenden die Sitzungstoken-Methode, wobei es sich um das empfohlene Verfahren handelt.

Falls Sie einen LoadBalancing-Server verwenden, können Sie die Benutzer-/Kennwortauthentifizierung verwenden (auf der Ebene der RT-Nachricht). Beispiel:

<PushEvent xmlns="urn:nms:rtEvent">
<sessiontoken>mc/PASSWORD</sessiontoken>
<domEvent>
<rtEvent wishedChannel="41" type="rt_MobileJourney_iOS_Push" registrationToken="c3ddc8aaecc24822df25d0f49865cca61ea3f86c61bfa53ae4d37294e37f4a1c" hashlpId="27EE7571EC14DBA23B9B5CC0EF79BB782DAECF4C03C88E5D92CC9B9DAC4E5DDA" correlationId="415b7593-4f6f-e911-811f-00505691247c" xmlns="">
<mobileApp uuid="236B24DC-C073-412F-8BCB-AC7207096258" _operation="none"/>
<ctx>...</ctx>
</rtEvent>
</domEvent>
</PushEvent>

Die Methode PushEvent besteht aus einem <urn:domevent>-Parameter, der das Ereignis enthält.

Die Methode PushEvents besteht aus einem <urn:domeventcollection>-Parameter, der die Ereigniskollektion enthält.

Beispiel der Methode PushEvent:

<urn:PushEvent>

 <sessiontoken>___921f9b38-72ac-49ad-b481-ab32973efc50</sessiontoken>

 <urn:domEvent>

   <rtEvent>

   ...

   </rtEvent>

 </urn:domEvent>

</urn:PushEvent>
NOTE
Bei Aufruf der PushEvents-Methode müssen wir ein übergeordnetes XML-Element hinzufügen, um die standardmäßige XML zu erfüllen. Dieses XML-Element bildet den Rahmen für die verschiedenen im Ereignis enthaltenen <rtevent>-Elemente.

Beispiel der Methode PushEvents:

<urn:PushEvents>

 <sessiontoken>___921f9b38-72ac-49ad-b481-ab32973efc50</sessiontoken>

 <urn:domEventCollection>

   <Events>

     <rtEvent>... </rtEvent>

     <rtEvent>... </rtEvent>

     ...

   </Events>

 </urn:domEventCollection>

</urn:PushEvents>

Die <rtevent>- und <batchEvent>-Elemente besitzen einen Satz an Attributen sowie ein unbedingt erforderliches untergeordnetes Element <ctx>, welches die Integration der Nachrichtendaten ermöglicht.

NOTE
Mit dem <batchEvent>-Element können Sie das Ereignis der „Batch“-Warteschlange hinzufügen. Das Ereignis <rtevent> wird der Warteschlange „Echtzeit“ hinzugefügt.

Die obligatorischen Attribute der Elemente <rtevent> und <batchEvent> lauten „@type“ und „@email“. Der Wert von „@type“ muss mit dem bei der Konfiguration der Ausführungsinstanz definierten Auflistungswert übereinstimmen. Mit diesem Wert können Sie die Vorlage definieren, die beim Versand mit dem Inhalt des Ereignisses verknüpft werden soll.

<rtevent> configuration example:

<rtEvent type="order_confirmation" email="john.doe@domain.com" origin="eCommerce" wishedChannel="0" externalId="1242" mobilePhone="+33620202020">

In diesem Beispiel sind mit der E-Mail-Adresse und der Mobiltelefonnummer zwei Kanäle angegeben. Das Feld wishedChannel ermöglicht die Bestimmung des Kanals, der bei der Reaktion auf ein Ereignis verwendet werden soll. Der Wert “0” entspricht dem E-Mail-Kanal, der Wert “1” dem Mobile-Kanal usw.

Wenn Sie einen Ereignisversand verschieben möchten, fügen Sie das Feld Geplant hinzu, gefolgt vom bevorzugten Datum. Das Ereignis wird an diesem Datum in eine Nachricht umgewandelt.

Es wird empfohlen, die Attribute @wishedChannel und @emailFormat mit numerischen Werten auszufüllen. Die Funktionstabelle, die numerische Werte und Beschriftungen verknüpft, finden Sie in der Beschreibung des Datenschemas.

NOTE
Eine ausführliche Beschreibung aller autorisierten Attribute sowie deren Werte finden Sie in der Beschreibung des Datenschemas nms:rtEvent und nms:BatchEvent .

Das <ctx>-Element enthält die Nachrichtendaten. Der XML-Inhalt ist offen, d. h. er kann je nach zu sendendem Inhalt konfiguriert werden.

NOTE
Die Anzahl und Größe der in der Nachricht enthaltenen XML-Knoten sollte dahingehend optimiert werden, eine Serverüberlastung beim Versand zu vermeiden.

Datenbeispiel:

   <ctx>
               <client>
                        <firstname>John</firstname>
                        <lastname>Doe</lastname>
               </client>
               <action>
                         <type>Order confirmation</type>
                          <number>CN23453</number>
               </action>
               <orderdetails>
                          <article num="1">
                                   <name>Generic USB key</name>
                                   <price>20</price>
                           </article>
               </orderdetails>
    </ctx>

Vom SOAP-Aufruf zurückgegebene Informationen information-returned-by-the-soap-call

Wenn ein Ereignis eingeht, generiert Adobe Campaign eine eindeutige Rückgabe-ID. Dies ist die ID der archivierten Version des Ereignisses.

IMPORTANT
Beim Empfang von SOAP-Aufrufen überprüft Adobe Campaign das Format der E-Mail-Adresse. Wenn eine E-Mail-Adresse falsch formatiert ist, wird ein Fehler zurückgegeben.
  • Beispiel einer von der Methode zurückgegebenen Kennung bei der erfolgreichen Verarbeitung eines Ereignisses:

    code language-none
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://xml.apache.org/xml-soap" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP-ENV:Body>
          <urn:PushEventResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:urn="urn:nms:rtEvent">
             <plId xsi:type="xsd:long">72057594037935966</plId>
          </urn:PushEventResponse>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

Wenn der Wert der Rückgabe-Kennung streng größer als null ist, wurde das Ereignis im Verlauf in Adobe Campaign gespeichert.

Wenn die Verarbeitung des Ereignisses fehlgeschlagen ist, gibt die Methode eine Fehlernachricht oder einen Wert gleich null zurück.

  • Beispiel einer fehlgeschlagenen Ereignisverarbeitung, bei der in der Abfrage die Kennung fehlt oder der angegebene Benutzer nicht über die erforderlichen Berechtigungen verfügt:

    code language-none
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP-ENV:Body>
          <SOAP-ENV:Fault>
             <faultcode>SOAP-ENV:Client</faultcode>
             <faultstring xsi:type="xsd:string">Error while reading parameters of method 'PushEvent' of service 'nms:rtEvent'.</faultstring>
             <detail xsi:type="xsd:string">Invalid login or password. Connection denied.</detail>
          </SOAP-ENV:Fault>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    
  • Beispiel einer fehlgeschlagenen Ereignisverarbeitung, bei der die Abfrage einen Fehler ergeben hat (nicht eingehaltene XML-Nomenklatur):

    code language-none
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP-ENV:Body>
          <SOAP-ENV:Fault>
             <faultcode>SOAP-ENV:Client</faultcode>
             <faultstring xsi:type="xsd:string">The XML SOAP message is invalid (service 'PushEvent', method 'nms:rtEvent').</faultstring>
             <detail xsi:type="xsd:string"><![CDATA[(16:8): Expected end of tag 'rtevent'
    Error while parsing XML string '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
       <soapenv:Header/>
       <soapenv:Body>
          <urn:PushEvent>
             <urn:sessiontoken>mc/</urn:sessiontoken>
             <urn:domEvent>
    <rtevent type="create_account" email="esther.hall@adobe.com" origin="eCommerce" wishedChannel="email"
          externalId="1596" language="english" country="EN" emailFormat="2"
          mobilePhone="+447700123123">
      <ctx>
       <website name="eCommerce" url="http://www.eCo']]></detail>
          </SOAP-ENV:Fault>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    
  • Beispiel einer fehlgeschlagenen Ereignisverarbeitung, bei der eine Null-Kennung zurückgegeben wird (fehlerhafter Methodenname):

    code language-none
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://xml.apache.org/xml-soap" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP-ENV:Body>
          <urn:PushEventResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:urn="urn:nms:rtEvent">
             <plId xsi:type="xsd:long">0</plId>
          </urn:PushEventResponse>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    
recommendation-more-help
campaign-help-v8