[ACC] - Realizar llamadas SOAP PushEvent y PushEvents

Descripción

Entorno

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

Problemas/Síntomas
Requisitos previos:

  • Descargar la interfaz de usuario de SOAP para activar las llamadas

  • Carga del WSDL (servidor url/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) en la interfaz de usuario de SOAP

  • La IP del equipo de prueba debe estar autorizada; de lo contrario, obtendrá el error "Acceso denegado".

  • Credenciales válidas para la autenticación (generalmente, usuario mc) que se va a introducir urn:sessiontokenlogin/password/urn:sessiontoken

Resolución

Evento push:

Esta llamada se utilizará al activar un único en la instancia de RT.

La plantilla ("test" en el ejemplo) debe publicarse correctamente en RT, desde la instancia de control.

En urn:domEvent, un evento de tipo  rtEvent debe definirse con type siendo el tipo de plantilla y email siendo la dirección de correo electrónico del destinatario.

En ctx, se debe definir todo el atributo utilizado en la plantilla. En este ejemplo, la plantilla contiene lo siguiente:

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

Ejemplo de llamada:

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent"

   soapenv:Header/

   soapenv:Body

      urn:PushEvent

         urn:sessiontokenlogin/password/urn:sessiontoken

         urn:domEvent

            rtEvent type="test" email="xxx@gmail.com"

                ctx

                    firstNameABC/firstName

                   lastNameDEF/lastName

                /ctx

            /rtEvent

         /urn:domEvent

      /urn:PushEvent

   /soapenv:Body

/soapenv:Envelope



Respuesta de éxito:


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

      PushEventResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:nms:rtEvent"

         plId xsi:type="xsd:long"0000000000/plId

      /PushEventResponse

   /SOAP-ENV:Body

/SOAP-ENV:Envelope

Recibir un PIID significa que el evento se ha recibido correctamente y se está procesando.

PushEvents:

Esta llamada se utilizará al activar múltiple en la instancia de RT.

Todos los requisitos son iguales a la primera llamada.

Debe definirse múltiples rtEvent en la variable urn:domEventCollection.

Ejemplo de llamada a :

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent"

   soapenv:Header/

   soapenv:Body

      urn:PushEvents

         urn:sessiontoken?/urn:sessiontoken

         urn:domEventCollection

            !: puede introducir CUALQUIER elemento en este punto. Se requiere más de un elemento —

         /urn:domEventCollection

      /urn:PushEvents

   /soapenv:Body

/soapenv:Envelope

Nota: Si solo se define 1 elemento en esta llamada, se recibirá en la instancia de RT, respuesta 200 OK, pero no se activará, procesará ni aparecerá ningún evento en los eventos y no aparecerá nada en los weblogs.

Obtendrá este tipo de respuesta, lo que significa que llegó a la RT, pero que no pasará nada:

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"

         domIds 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:Envelope

La razón por la que el evento no se activa es que EVENTOS PUSH solo funciona en el caso de varios eventos. Si la llamada se realiza con un solo evento, la variable EVENTO PUSH es obligatorio.

En esta página