Förstå händelsebeskrivning about-event-desc

Datamodell för transaktionsmeddelanden about-mc-datamodel

Transactional messaging förlitar sig på Adobe Campaign datamodell och använder ytterligare två separata tabeller. Dessa tabeller, NmsRtEvent och NmsBatchEvent, innehåller samma fält och låter dig hantera realtidshändelser å ena sidan, och batchhändelser å andra sidan.

SOAP-metoder soap-methods

I det här avsnittet beskrivs de SOAP-metoder som är associerade med scheman för modulen för transaktionsmeddelanden.

Två PushEvent eller PushEvents SOAP-metoder är länkade till de två nms:rtEvent och nms:BatchEvent datascheman. Det är informationssystemet som avgör om en händelse är av typen"batch" eller"realtid".

  • PushEvent gör att du kan infoga en enda händelse i meddelandet,
  • PushEvents I kan du infoga en serie händelser i meddelandet.

WSDL-sökvägen för åtkomst till båda metoderna är:

  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent för att komma åt typschemat i realtid.
  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:batchEvent för att komma åt batchtypsschemat.

Båda metoderna innehåller en <urn:sessiontoken> -element för inloggning i transaktionsmeddelandemodulen. Vi rekommenderar att du använder en identifieringsmetod via betrodda IP-adresser. Om du vill hämta sessionstoken utför du ett SOAP-inloggningsanrop och sedan en get-token följt av en utloggning. Använd samma token för flera RT-anrop. Exemplen i det här avsnittet använder sessionstokenmetoden som rekommenderas.

Om du använder en server för belastningsutjämning kan du använda autentisering av användare/lösenord (på nivån för RT-meddelandet). Exempel:

<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>

The PushEvent metoden består av en <urn:domevent> parameter som innehåller händelsen.

The PushEvents metoden består av en <urn:domeventcollection> parameter som innehåller händelser.

Exempel med PushEvent:

<urn:PushEvent>

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

 <urn:domEvent>

   <rtEvent>

   ...

   </rtEvent>

 </urn:domEvent>

</urn:PushEvent>
NOTE
Vid en anrop till PushEvents måste vi lägga till ett överordnat XML-element för att följa standard-XML. Detta XML-element kommer att rama in de olika <rtevent> -element i händelsen.

Exempel med PushEvents:

<urn:PushEvents>

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

 <urn:domEventCollection>

   <Events>

     <rtEvent>... </rtEvent>

     <rtEvent>... </rtEvent>

     ...

   </Events>

 </urn:domEventCollection>

</urn:PushEvents>

The <rtevent> och <batchevent> -element har en uppsättning attribut samt ett obligatoriskt underordnat element: <ctx> för att integrera meddelandedata.

NOTE
The <batchevent> kan du lägga till händelsen i batchkön. The <rtevent> lägger till händelsen i realtidskön.

De obligatoriska attributen för <rtevent> och <batchevent> elementen är @type och @email. Värdet för @type måste vara samma som det specificerade listvärdet som definieras när körningsinstansen konfigureras. Med det här värdet kan du definiera mallen som ska länkas till innehållet i händelsen under leveransen.

<rtevent> configuration example:

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

I det här exemplet finns det två kanaler: e-postadressen och mobiltelefonnumret. The requestedChannel gör att du kan välja den kanal som du vill använda när du omvandlar händelsen till ett meddelande. Värdet "0" motsvarar e-postkanalen, värdet "1" till mobilkanalen osv.

Om du vill skjuta upp en leverans av en händelse lägger du till scheduled följt av önskat datum. Händelsen omvandlas till ett meddelande det här datumet.

Vi rekommenderar att du fyller i attributen @önskadKanal och @emailFormat med numeriska värden. Funktionstabellen som länkar numeriska värden och etiketter finns i dataschemabeskrivningen.

NOTE
En detaljerad beskrivning av alla godkända attribut samt deras värden finns i beskrivningen av nms:rtEvent och nms:BatchEvent dataschema.

The <ctx> -elementet innehåller meddelandedata. Dess XML-innehåll är öppet, vilket betyder att det kan konfigureras beroende på vilket innehåll som ska levereras.

NOTE
Det är viktigt att optimera antalet och storleken på XML-noder i meddelandet för att undvika att överbelasta servrarna under leveransen.

Exempel på data:

   <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>

Information som returnerats av SOAP-anropet information-returned-by-the-soap-call

När Adobe Campaign tar emot en händelse genereras ett unikt retur-ID. Detta är ID:t för den arkiverade versionen av händelsen.

IMPORTANT
När Adobe Campaign tar emot SOAP-anrop verifieras e-postadressformatet. Om en e-postadress är felaktigt formaterad returneras ett fel.
  • Exempel på en identifierare som returneras av metoden när händelsebearbetningen lyckas:

    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>
    

Om värdet för returidentifieraren är strikt större än noll betyder det att händelsen har arkiverats i Adobe Campaign.

Om händelsen inte kan bearbetas returnerar metoden ett felmeddelande eller ett värde som är lika med noll.

  • Bearbetningsexempel på en händelse som misslyckades när frågan inte innehåller någon inloggning eller när den angivna operatorn inte har de nödvändiga rättigheterna:

    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>
    
  • Exempel på en händelse som misslyckades på grund av ett fel i frågan (XML-klassificeringen uppfylls inte):

    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>
    
  • Exempel på en händelse som misslyckades och returnerade en nollidentifierare (fel metodnamn):

    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
35662671-8e3d-4f04-a092-029a056c566b