Show Menu
ARGOMENTI×

Descrizione di un evento

Informazioni sul modello dati di messaggistica transazionale

I messaggi transazionali si basano sul modello dati Adobe Campaign e utilizzano due tabelle separate aggiuntive. Queste tabelle , NmsRtEvent e NmsBatchEvent , contengono gli stessi campi e consentono di gestire gli eventi in tempo reale da un lato e gli eventi batch dall'altro.

Metodi SOAP

Questa sezione descrive i metodi SOAP associati agli schemi del modulo dei messaggi transazionali.
Due metodi SOAP PushEvent o PushEvents sono collegati alle due classi di dati nms:rtEvent e nms:BatchEvent . È il sistema di informazioni che determina se un evento è di tipo "batch" o "in tempo reale".
  • PushEvent consente di inserire un singolo evento nel messaggio,
  • PushEvents consente di inserire una serie di eventi nel messaggio.
Il percorso WSDL per l'accesso a entrambi i metodi è:
  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent per accedere allo schema del tipo in tempo reale.
  • http://hostname/nl/jsp/schemawsdl.jsp?schema=nms:batchEvent per accedere allo schema del tipo di batch.
Entrambi i metodi contengono un <urn:sessiontoken> elemento per accedere al modulo di messaggistica transazionale. È consigliabile utilizzare un metodo di identificazione tramite indirizzi IP affidabili. Per recuperare il token di sessione, eseguite una chiamata SOAP di accesso, quindi un token get seguito da un logoff. Utilizzate lo stesso token per diverse chiamate RT. Gli esempi inclusi in questa sezione utilizzano il metodo token sessione consigliato.
Se utilizzate un server con bilanciamento del carico, potete utilizzare l'autenticazione utente/password (a livello del messaggio RT). Esempio:
<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>

Il metodo PushEvent è composto da un <urn:domevent> parametro che contiene l'evento.
Il metodo PushEvents è composto da un <urn:domeventcollection> parametro che contiene eventi.
Esempio di utilizzo di PushEvent:
<urn:PushEvent>

 <sessiontoken>___921f9b38-72ac-49ad-b481-ab32973efc50</sessiontoken>
 
 <urn:domEvent>
 
   <rtEvent>
   
   ...
   
   </rtEvent>
 
 </urn:domEvent>

</urn:PushEvent>

In caso di chiamata al metodo PushEvents , è necessario aggiungere un elemento XML principale per conformarsi al codice XML standard. Questo elemento XML incornicia i vari <rtevent> elementi contenuti nell'evento.
Esempio di utilizzo di PushEvents:
<urn:PushEvents>

 <sessiontoken>___921f9b38-72ac-49ad-b481-ab32973efc50</sessiontoken>
 
 <urn:domEventCollection>
 
   <Events>
   
     <rtEvent>... </rtEvent>
     
     <rtEvent>... </rtEvent>
     
     ...
   
   </Events>
 
 </urn:domEventCollection>

</urn:PushEvents>

Gli <rtevent> elementi e <batchevent> hanno una serie di attributi e un elemento figlio obbligatorio: <ctx> per l'integrazione dei dati dei messaggi.
L’ <batchevent> elemento consente di aggiungere l’evento alla coda "batch". L’evento <rtevent> viene aggiunto alla coda "in tempo reale".
Gli attributi obbligatori degli <rtevent> elementi e <batchevent> sono @type e @email. Il valore di @type deve corrispondere al valore elenco dettagliato definito al momento della configurazione dell'istanza di esecuzione. Questo valore consente di definire il modello da collegare al contenuto dell'evento durante la consegna.
<rtevent> configuration example:
<rtEvent type="order_confirmation" email="john.doe@domain.com" origin="eCommerce" wishedChannel="0" externalId="1242" mobilePhone="+33620202020"> 

In questo esempio vengono forniti due canali: l’indirizzo e-mail e il numero di telefono cellulare. Il canale desiderato consente di selezionare il canale da utilizzare per trasformare l'evento in un messaggio. Il valore "0" corrisponde al canale e-mail, il valore "1" al canale mobile, ecc.
Se desiderate posticipare la consegna di un evento, aggiungete il scheduled campo seguito dalla data desiderata. L’evento verrà trasformato in un messaggio a tale data.
È consigliabile compilare gli attributi @wishChannel e @emailFormat con valori numerici. La tabella della funzione che collega valori numerici ed etichette si trova nella descrizione dello schema dati.
Una descrizione dettagliata di tutti gli attributi autorizzati e dei relativi valori è disponibile nella descrizione dello schema di dati nms:rtEvent e nms:BatchEvent .
L' <ctx> elemento contiene i dati del messaggio. Il contenuto XML è aperto, il che significa che può essere configurato in base al contenuto da distribuire.
È importante ottimizzare il numero e la dimensione dei nodi XML contenuti nel messaggio per evitare di sovraccaricare i server durante la distribuzione.
Esempio di dati:
   <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>
   

Informazioni restituite dalla chiamata SOAP

Quando riceve un evento, Adobe Campaign genera un ID restituito univoco. Questo è l'ID della versione archiviata dell'evento.
Quando ricevete chiamate SOAP, Adobe Campaign verifica il formato dell'indirizzo e-mail. Se un indirizzo e-mail non è formattato correttamente, viene restituito un errore.
  • Esempio di identificatore restituito dal metodo quando l'elaborazione dell'evento ha esito positivo:
    <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>
    
    
Se il valore dell'identificatore restituito è rigorosamente maggiore di zero, significa che l'evento è stato archiviato correttamente in Adobe Campaign.
Tuttavia, se l'evento non viene elaborato, il metodo restituisce un messaggio di errore o un valore uguale a zero.
  • Esempio di elaborazione di un evento che non è riuscito quando la query non contiene un login o l'operatore specificato non dispone dei diritti richiesti:
    <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>
    
    
  • Esempio di un evento che non è riuscito a causa di un errore nella query (la classificazione XML non è rispettata):
    <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>
    
    
  • Esempio di evento che ha avuto esito negativo e ha restituito un identificatore zero (nome metodo errato):
    <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>