[ACC] - Como fazer chamadas PushEvent e PushEvents SOAP

Descrição

Ambiente

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

Problemas/sintomas
Pré-requisitos:

  • Baixe a interface SOAP para acionar as chamadas

  • Upload do WSDL (servidor url/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) na interface SOAP

  • O IP do computador de teste deve ser autorizado, caso contrário, você receberá um erro "Acesso negado".

  • Credenciais válidas para autenticação (geralmente, usuário mc), a serem colocadas em urn:sessiontokenlogin/password/urn:sessiontoken

Resolução

Evento de push:

Essa chamada deve ser usada ao acionar um único na instância RT.

O modelo ("teste" no exemplo) precisa ser publicado com êxito no RT, da instância de controle.

Em urn:domEvent, um evento do tipo  rtEvent deve ser definido com type como o tipo de modelo e email sendo o endereço de email do recipient.

No ctx, todo o atributo usado no template deve ser definido. Neste exemplo, o modelo contém o seguinte:

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

Exemplo de chamada:

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



Resposta bem-sucedida:


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

Receber um PIID significa que o evento foi recebido com êxito e está sendo processado.

PushEvents:

Essa chamada deve ser usada ao acionar multiple na instância de RT.

Todos os requisitos são iguais à primeira chamada .

Vários rtEvent devem ser definidos na variável urn:domEventCollection.

Exemplo de uma chamada :

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

            !—Você pode inserir QUALQUER elemento neste ponto. É necessário mais de 1 elemento —

         /urn:domEventCollection

      /urn:PushEvents

   /soapenv:Body

/soapenv:Envelope

Observação: Se apenas 1 elemento for definido nesta chamada, ele será recebido pela instância RT, resposta 200 OK, mas nenhum evento será acionado, processado ou exibido nos eventos e nada será exibido nos weblogs.

Você receberá esse tipo de resposta, o que significa que ele atingiu o RT, mas que nada acontecerá:

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

O motivo pelo qual o evento não é acionado é que EVENTOS DE PUSH O só funciona no caso de vários eventos. Se a chamada for feita com apenas um evento, a variável EVENTO DE PUSH é necessária.

Nesta página