[ACC] - How to make PushEvent and PushEvents SOAP calls

Description

Environment

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

Issues/Symptoms
Pre-requisites:

  • Download SOAP UI for triggering the calls

  • Uploading the WSDL (server url/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) onto SOAP UI

  • IP of testing computer must be authorized otherwise you will get an error “Access Denied”.

  • Valid credentials for authentication (generally mc user), to be put in urn:sessiontokenlogin/password/urn:sessiontoken

Resolution

Push Event:

This call is to be used when triggering a uniqueevent on the RT instance.

The template (“test” in the example) needs to be published successfully on RT, from the control instance.

In urn:domEvent, an event of type  rtEvent must be defined with typebeing the template type and emailbeing the recipient email address.

In ctx, all the attribute used on the template must be defined. In this example, the template contain this:

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

Example of call:

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



Success response:


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

Receiving a PIID means that the event has been received successfully and is being processed.

PushEvents:

This call is to be used when triggering multipleevents on the RT instance.

All the requirement are the same as the first call.

Mutiple rtEvent must be defined in the urn:domEventCollection.

Example of a call:

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

            !–You may enter ANY elements at this point. More than 1 element is Required –

         /urn:domEventCollection

      /urn:PushEvents

   /soapenv:Body

/soapenv:Envelope

Note: If only 1 element is defined in this call, it will be received by RT instance, response 200 OK, but no event will be triggered, processed nor appear in the events and nothing will show in the weblogs.

You will get this type of response, which means that it reached the RT, but that nothing will happen:

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

The reason the event is not triggered is that PUSH EVENTS only works in case of multiple events. If the call is made with only one event, the PUSH EVENT call is required.

On this page