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 gör att du kan hantera realtidshändelser å ena sidan och batchhändelser å andra sidan.
SOAP soap-methods
I det här avsnittet beskrivs de SOAP metoderna som är associerade med scheman för modulen för transaktionsmeddelanden.
Två PushEvent - eller PushEvents -SOAP ä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".
- Med PushEvent kan du infoga en händelse i meddelandet,
- Med PushEvents 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 ett <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 måste du utföra ett inloggningsanrop SOAP 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>
Metoden PushEvent består av en <urn:domevent>
-parameter som innehåller händelsen.
Metoden PushEvents 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>
<rtevent>
elementen 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>
Elementen <rtevent>
och <batchevent>
har en uppsättning attribut samt ett obligatoriskt underordnat element: <ctx>
för att integrera meddelandedata.
<batchevent>
kan du lägga till händelsen i batchkön. <rtevent>
lägger till händelsen i realtidskön.De obligatoriska attributen för elementen <rtevent>
och <batchevent>
ä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. Med önskadKanal kan du 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 händelseleverans lägger du till fältet 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.
Elementet <ctx>
innehåller meddelandedata. Dess XML-innehåll är öppet, vilket betyder att det kan konfigureras beroende på vilket innehåll som ska levereras.
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 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.
-
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>