Integratie via SOAP (server-kant) integration-via-soap-server-side

De SOAP-webservices die worden aangeboden voor aanbiedingsbeheer, verschillen van de services die gewoonlijk in Adobe Campaign worden gebruikt. U hebt toegang tot deze bestanden via de interactie-URL die in de vorige sectie is beschreven. U kunt nu aanbiedingen voor een bepaalde contactpersoon presenteren of bijwerken.

Voorstel offer-proposition

Voor een aanbiedingsvoorstel via ZEEP, voeg toe nms:proposition#propose gevolgd door de volgende parameters:

  • targetId: primaire sleutel van de ontvanger (kan een samengestelde sleutel zijn).
  • maxCount: geeft het aantal voorstellen voor de contactpersoon aan.
  • context: Hiermee kunt u contextinformatie toevoegen in het ruimteschema. Als het gebruikte schema nms:interactie, <empty> worden toegevoegd.
  • categorie├źn: geeft aan tot welke categorie(├źn) de aanbiedingen moeten behoren.
  • thema's: geeft het thema of de thema's aan waartoe de aanbieding(en) moeten behoren.
  • uuid: waarde van het permanente cookie van Adobe Campaign ("uuid230").
  • nli: waarde van het Adobe Campaign-sessiecookie ("nlid").
  • noProp: gebruik de waarde "true" om de invoeging van een voorstel te deactiveren.
NOTE
De targetId en maxCount instellingen zijn verplicht. De andere zijn optioneel.

In antwoord op de vraag, zal de dienst van de ZEEP de volgende parameters terugkeren:

  • interactionId: ID van de interactie.
  • voorstellen: XML-element, bevat de lijst met voorstellingen, elk met een eigen id en HTML-representatie.

Aanbieding bijwerken offer-update

Voeg de nms:interaction#UpdateStatus naar de URL, gevolgd door de volgende parameters:

  • voorstel: tekenreeks met tekens, bevat deze de voorstel-id die als uitvoer is opgegeven tijdens een aanbiedingsvoorstel. Zie Voorstel.
  • status: type tekenreeks, geeft de nieuwe status van de aanbieding aan. De mogelijke waarden worden vermeld in de propositionStatus opsomming, in de nms:algemeen schema. Bijvoorbeeld, out-of-the-box, beantwoordt aantal 3 aan Geaccepteerd status.
  • context: Met het XML-element kunt u contextinformatie toevoegen in het ruimteschema. Als het gebruikte schema nms:interactie, <empty> worden toegevoegd.

Voorbeeld met een SOAP-aanroep example-using-a-soap-call

Hier is een voorbeeld van code voor een vraag van de ZEEP:

<%
  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 )
  {
  }
  %>
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1