Integrazione tramite SOAP (lato server)

I servizi Web SOAP forniti per la gestione delle offerte sono diversi da quelli normalmente utilizzati in Adobe Campaign. È possibile accedervi tramite l'URL di interazione descritto nella sezione precedente e consentire di presentare o aggiornare le offerte per un determinato contatto.

Proposta di offerta

Per una proposta di offerta tramite SOAP, aggiungete il comando nms:proposition#Propose seguito dai seguenti parametri:

  • targetId: chiave primaria del destinatario (può essere una chiave composita).
  • maxCount: specifica il numero di proposte di offerta per il contatto.
  • contesto: consente di aggiungere informazioni di contesto nello schema dello spazio. Se lo schema utilizzato è nms:interactive, è necessario aggiungere <empty>.
  • categorie: specifica le categorie a cui devono appartenere le offerte.
  • temi: specifica i temi a cui devono appartenere le offerte.
  • uuid: valore del cookie permanente Adobe Campaign ("uuid230").
  • nli: del cookie di sessione di Adobe Campaign ("nlid").
  • noProp: utilizzate il valore "true" per disattivare l'inserimento della proposta.
NOTA

Le impostazioni targetId e maxCount sono obbligatorie. Gli altri sono facoltativi.

In risposta alla query, il servizio SOAP restituirà i seguenti parametri:

  • actionId: ID dell’interazione.
  • proposizioni: L'elemento XML contiene l'elenco delle proposizioni, ciascuna con un proprio ID e una propria rappresentazione HTML.

Aggiornamento dell'offerta

Aggiungete all'URL il comando nms:interactive#UpdateStatus seguito dai seguenti parametri:

  • proposta: stringa di caratteri, contiene l'ID di proposta fornito come output durante una proposta di offerta. Fare riferimento a Proposta di offerta.
  • status: tipo di stringa, specifica il nuovo stato dell'offerta. I valori possibili sono elencati nell'enumerazione propositionStatus, nello schema nms:common. Ad esempio, out-of-the-box, il numero 3 corrisponde allo stato Accepted.
  • contesto: Elemento XML, consente di aggiungere informazioni contestuali nello schema dello spazio. Se lo schema utilizzato è nms:interactive, è necessario aggiungere <empty>.

Esempio di utilizzo di una chiamata SOAP

Esempio di codice per una chiamata 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 )
  {
  }
  %>

In questa pagina

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