Integração via SOAP (lado do servidor)

Os serviços da Web SOAP fornecidos para o gerenciamento de ofertas são diferentes daqueles normalmente usados no Adobe Campaign. Eles podem ser acessados por meio da URL de interação descrita na seção anterior e permitem apresentar ou atualizar ofertas para um determinado contato.

Apresentação de oferta

Para uma apresentação de oferta via SOAP, adicione o comando nms:proposta#Propose seguido pelos seguintes parâmetros:

  • targetId: chave primária do recipient (pode ser uma chave composta).
  • maxCount: especifica o número de apresentações de oferta para o contato.
  • contexto: permite adicionar informações de contexto no schema de espaço. Se o schema usado for nms:interaction, <empty> deverá ser adicionado.
  • categories: especifica a(s) categoria(s) que as ofertas devem pertencer.
  • themes: especifica o(s) tema(s) aos quais a(s) oferta(s) deve pertencer.
  • uuid: valor do cookie permanente do Adobe Campaign ("uuid230").
  • nli: valor do cookie da sessão do Adobe Campaign ("nlid").
  • noProp: use o valor "true" para desativar a inserção de proposta.
OBSERVAÇÃO

As configurações targetId e maxCount são obrigatórias. As outras são opcionais.

Em resposta à query, o serviço SOAP retorna os seguintes parâmetros:

  • interactionId: ID da interação.
  • propositions: o elemento XML contém a lista de propostas, cada uma com sua própria identificação e representação HTML.

Atualização de oferta

Adicione o comando nms:interação#UpdateStatus à URL, seguido desses parâmetros:

  • proposition: cadeia de caracteres, ele contém o ID de proposta fornecida como uma saída durante uma apresentação de oferta. Consulte Apresentação da oferta.
  • status: tipo string, ele especifica o novo status da oferta. Os valores possíveis são listados na enumeração propositionStatus , no schema nms:common. Por exemplo, inicialmente, o número 3 corresponde ao status Accepted.
  • context: o elemento XML permite adicionar informações de contexto no schema de espaço. Se o schema usado for nms:interaction, <empty> deverá ser adicionado.

Exemplo usando uma chamada SOAP

Veja um exemplo de código para uma chamada SOAP:

<%
  var space = request.parameters.sp
  var cnx = new HttpSoapConnection(
    "https://" + request.serverName + ":" + request.serverPort + "/interaction/" + env + "/" + space,
    "utf-8",
    HttpSoapConnection.SOAP_12)
  var session = new SoapService(cnx, "nms:interaction")
  var action = request.parameters.a
  if( action == undefined )
    action = 'propose'

  try
  {
    switch( action )
    {
    case "update":
      var proposition = request.parameters.p
      var status      = request.parameters.st
      session.addMethod("UpdateStatus", "nms:interaction#UpdateStatus",
       ["proposition", "string",
        "status",      "string",
        "context",     "NLElement"],
       [])
      session.UpdateStatus(proposition, status, <undef/>)
      var redirect = request.parameters.r
      if( redirect != undefined )
        response.sendRedirect(redirect)
      break;

    case "propose":
      var count = request.parameters.n
      var target = request.parameters.t
      var categorie = request.parameters.c
      var theme = request.parameters.th
      var layout = request.parameters.l
      if( count == undefined )
        count = 1
      session.addMethod("Propose", "nms:proposition#Propose",
       ["targetId",      "string",
        "maxCount",      "string",
         "categories",    "string",
         "themes",        "string",
        "context",       "NLElement"],
       ["interactionId", "string",
        "propositions",  "NLElement"])
      response.setContentType("text/html")
      var result = session.Propose(target, count, category, theme, <empty/>)
      var props = result[1]
  %><table><tr><%
      for each( var propHtml in props.proposition.*.mdSource )
      {
        %><td><%=propHtml%></td><%
      }
  %></tr></table><%
      break;
    }
  }
  catch( e )
  {
  }
  %>

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now