Come effettuare chiamate SOAP PushEvent e PushEvents | ACC

Questo articolo offre una soluzione alternativa se desideri effettuare chiamate PushEvent e chiamate SOAP PushEvents in Adobe Campaign e Adobe Campaign Classic.

Descrizione description

Ambiente

  • Campaign Classic
  • Campaign
  • Campaign Classic v7
  • Campaign v8

Problemi/Sintomi

Prerequisiti:

  • Scarica l’interfaccia utente SOAP per attivare le chiamate

  • Caricamento del file WSDL (< URL server> /nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) nell'interfaccia utente SOAP

  • L’IP del computer in prova deve essere autorizzato altrimenti si verifica un errore di tipo "Accesso negato".

  • Credenziali valide per l'autenticazione (in genere utente mc), da inserire in <urn:sessiontoken> login/password< /urn:sessiontoken>

Risoluzione resolution

Evento push:

Questa chiamata deve essere utilizzata quando si attiva un evento univoco sull'istanza RT.

Il modello ("test" nell'esempio) deve essere pubblicato correttamente su RT, dall'istanza di controllo.

In < urn:domEvent> , un evento di tipo  < rtEvent> deve essere definito con type come tipo di modello e email come indirizzo e-mail del destinatario.

In < ctx> è necessario definire tutti gli attributi utilizzati nel modello. In questo esempio, il modello contiene quanto segue:

< P >Your email is: <%= rtEvent.email %>< P > -> is using the attribute email directly as email in define within rtEvent

< P >Your first name: <%= rtEvent.ctx.firstName %>< P > -> is using ctx.firstname as ctx is an inner element of rtEvent

< P >Your last name: <%= rtEvent.ctx.lastName %>< P> -> is using ctx.lastname as ctx is an inner element of rtEvent

Esempio di chiamata:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
   < soapenv:Intestazione/>
   < soapenv:Body>
      < urn:PushEvent>
         < urn:sessiontoken> login/password< /urn:sessiontoken>
         < urn:domEvent>
            < rtEvent type="test" email="xxx@gmail.com">
                < ctx>
                    < firstName> ABC< /firstName>
                   < cognome> DEF< /lastName>
                < /ctx>
            < /rtEvent>
         < /urn:domEvent>
      < /urn:EventoPush>
   < /soapenv:Body>
< /soapenv:Busta>

Risposta di successo:

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

La ricezione di un PIID indica che l’evento è stato ricevuto correttamente ed è in fase di elaborazione.

Eventi push:

Questa chiamata deve essere utilizzata quando si attivano più eventi sull'istanza RT.

Tutti i requisiti sono uguali alla prima chiamata.

Il multiplo < rtEvent> deve essere definito nella <urn:domEventCollection> .

Esempio di chiamata:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
   < soapenv:Intestazione/>
   < soapenv:Body>
      < urn:PushEvents>
         < urn:sessiontoken> ?< /urn:sessiontoken>
         < urn:domEventCollection>
             <!- A questo punto potete immettere QUALSIASI elemento. È necessario più di 1 elemento ->
         < /urn:domEventCollection>
      < /urn:EventiPush>
   < /soapenv:Body>
< /soapenv:Busta>

Nota: se in questa chiamata è definito solo 1 elemento, questo verrà ricevuto dall'istanza RT. Risposta 200 OK, ma nessun evento verrà attivato, elaborato o visualizzato negli eventi e non verrà visualizzato nulla nei weblogs.

Riceverai questo tipo di risposta, che significa che ha raggiunto l’RT, ma che non succede nulla:

<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="urn:nms:rtEvent" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   < SOAP-ENV:Body>
      < PushEventsResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:nms:rtEvent">
         < pdomIds xsi:type="ns:Element" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
            < rtEvent email="xxx@gmail.com" type="test"/>
         < /pdomIds>
      < /PushEventsResponse>
   < /SOAP-ENV:Body>
< /SOAP-ENV:Busta>

Il motivo per cui l'evento non viene attivato è che EVENTI PUSH funziona solo in caso di più eventi. Se la chiamata viene effettuata con un solo evento, è necessaria la chiamata PUSH EVENT.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f