Een voorstel toevoegen op een webpagina add-an-offer-in-web
Om de motor van de Aanbieding in een Web-pagina te roepen, neem direct een vraag aan een code van JavaScript in de pagina op. Deze vraag keert de aanbiedingsinhoud in een gericht element terug.
Het script dat URL aanroept ziet er als volgt uit:
<script id="interactionProposalScript" src="https://<SERVER_URL>/nl/interactionProposal.js?env=" type="text/javascript"></script>
De "env"parameter ontvangt de interne naam van het levende milieu gewijd aan anonieme interactie.
Om een aanbieding te presenteren, moeten wij een milieu en een aanbiedingsruimte in Adobe Campaign creëren, dan de pagina van HTML vormen.
In de volgende gebruiksgevallen worden de mogelijke opties voor het integreren van aanbiedingen via JavaScript beschreven.
Optie 1: HTML-modus html-mode
Een anonieme aanbieding presenteren presenting-an-anonymous-offer
Stap 1: Bereid de motor van de Aanbieding voor
- Open de Adobe Campaign-interface en bereid een anonieme omgeving voor.
- Maak een aanbiedingsruimte die is gekoppeld aan de anonieme omgeving.
- Maak een aanbieding en geef deze weer in verband met de aanbiedingsruimte.
Stap 2: Werk de inhoud van de pagina van HTML bij
De HTML-pagina moet een element met een @id-kenmerk bevatten met de waarde van de interne naam van de gemaakte aanbiedingsruimte ("i_internal name space"). Het aanbod zal in dit element door Interaction worden opgenomen.
In ons voorbeeld ontvangt het kenmerk @id de waarde "i_SPC12", waarbij "SPC12" de interne naam is van de eerder gemaakte aanbiedingsruimte:
<div id="i_SPC12"></div>
In ons voorbeeld is de URL voor het aanroepen van het script als volgt ("OE3" is de interne naam van de live omgeving):
<script id="interactionProposalScript" src="https://instance.adobe.org:8080/nl/interactionProposal.js?env=OE3" type="text/javascript"></script>
<script> mag niet zelfsluitend zijn.Deze statische vraag zal automatisch een dynamische vraag produceren die alle parameters bevat nodig door de motor van de Aanbieding.
Dit gedrag laat u verscheidene aanbiedingsruimten op de zelfde pagina gebruiken, die door één enkele vraag aan de motor van de Aanbieding worden beheerd.
Stap 3: Toon de resultaten in de pagina van HTML
De inhoud van de aanbiedingsweergave wordt door de aanbiedingsengine aan de HTML-pagina geretourneerd:
<div id="banner_header">
<div id="i_SPC12">
<table>
<tbody>
<tr>
<td><h3>Fly to Japan!</h3></td>
</tr>
<tr>
<td><img width="150px" src="https://instance.adobe.org/res/Track/874fdaf72ddc256b2d8260bb8ec3a104.jpg"></td>
<td>
<p>Discover Japan for 2 weeks at an unbelievable price!!</p>
<p><b>2345 Dollars - All inclusive</b></p>
</td>
</tr>
</tbody>
</table>
</div>
<script src="https://instance.adobe.org:8080/nl/interactionProposal.js?env=OE3" id="interactionProposalScript" type="text/javascript"></script>
</div>
Een geïdentificeerde aanbieding presenteren presenting-an-identified-offer
Om een aanbieding aan een geïdentificeerd contact voor te stellen, is het proces gelijkaardig zoals gedetailleerd in deze sectie .
In de inhoud van de Web-pagina, moet u het volgende manuscript toevoegen dat de contact tijdens de vraag aan de motor van de Aanbieding zal identificeren:
<script type="text/javascript">
interactionTarget = <contact_identifier>;
</script>
-
Ga naar de aanbiedingsruimte die door de webpagina wordt aangeroepen, klik op Advanced parameters en voeg een of meer identificatietoetsen toe.
In dit voorbeeld is de identificatiesleutel samengesteld omdat deze zowel op de e-mail als op de naam van de ontvanger is gebaseerd.
-
Tijdens de Web-pagina vertoning, laat de manuscriptevaluatie u ontvankelijke identiteitskaart op de motor van de Aanbieding overgaan. Als de id een samenstelling heeft, worden de toetsen weergegeven in dezelfde volgorde als in de geavanceerde instellingen en worden ze van elkaar gescheiden door een |.
In het volgende voorbeeld heeft de contactpersoon zich aangemeld bij de website en is de contactpersoon door zijn e-mail en naam herkend tijdens het aanroepen naar de engine voor voorstellen.
code language-none <script type="text/javascript"> interactionTarget = myEmail|myName; </script>
Een HTML-renderfunctie gebruiken using-an-html-rendering-function
Als u de representatie van de HTML-aanbieding automatisch wilt genereren, kunt u een renderfunctie gebruiken.
-
Ga naar de aanbiedingsruimte en klik op Edit functions .
-
Selecteer Overload the HTML rendering function.
-
Ga naar het tabblad HTML rendering en voeg de variabelen die overeenkomen met de velden die voor de aanbiedingsinhoud zijn gedefinieerd, in de aanbiedingsruimte in.
In dit voorbeeld wordt de aanbieding weergegeven in de vorm van een banner op een webpagina en bestaat deze uit een klikbare afbeelding en een titel die overeenkomen met de velden die zijn gedefinieerd in de inhoud van de aanbieding.
Optie 2: XML-modus xml-mode
Een voorstel presenteren presenting-an-offer
De module van de Interactie van de campagne laat u een knoop van XML aan de pagina terugkeren van HTML die de motor van de Aanbieding omhoog roept. Dit XML-knooppunt kan worden verwerkt door functies die aan de kant van de klant moeten worden ontwikkeld.
De vraag aan de motor van de Aanbieding kijkt als dit:
<script type="text/javascript" id="interactionProposalScript" src="https://<SERVER_URL>/nl/interactionProposal.js?env=&cb="></script>
-
De "env"parameter ontvangt de interne naam van het levende milieu.
-
De "cb"parameter ontvangt de naam van de functie die de knoop van XML zal lezen die door de motor is teruggekeerd die (callback) proposition(s) bevat. Deze parameter is optioneel.
-
De "t"parameter ontvangt de waarde van het doel, slechts voor een geïdentificeerde interactie. Deze parameter kan ook met de interactionTarget variabele worden overgegaan. Deze parameter is optioneel.
-
De "c"parameter ontvangt de lijst van interne namen van de categorieën. Deze parameter is optioneel.
-
De "de"parameter ontvangt de lijst van thema's. Deze parameter is optioneel.
-
De "gctx"parameter ontvangt globale vraaggegevens (context) aan de volledige pagina. Deze parameter is optioneel.
Het geretourneerde XML-knooppunt ziet er als volgt uit:
<propositions>
<proposition id="" offer-id="" weight="" rank="" space="" div=""> //proposition identifiers
...XML content defined in Adobe Campaign...
</proposition>
...
</propositions>
In het onderstaande gebruiksgeval worden de configuraties beschreven die in Adobe Campaign moeten worden uitgevoerd om de XML-modus in te schakelen en wordt vervolgens het resultaat van de aanroep naar de engine op de HTML-pagina weergegeven.
-
creeer een milieu en een aanbiedingsruimte
Voor meer bij het creëren van een milieu, verwijs naar deze pagina .
Voor meer bij het creëren van een aanbiedingsruimte, verwijs naar deze pagina .
-
breid het aanbiedingsschema uit om nieuwe gebieden toe te voegen
In dit schema worden de volgende velden gedefinieerd: Titel nummer 2 en prijs.
De naam van het schema in het voorbeeld is focus:offer
code language-none <srcSchema _cs="Marketing offers (cus)" created="2013-01-18 17:14:20.762Z" createdBy-id="0" desc="" entitySchema="xtk:srcSchema" extendedSchema="nms:offer" img="nms:offer.png" label="Marketing offers" labelSingular="Marketing offers" lastModified="2013-01-18 15:20:18.373Z" mappingType="sql" md5="F14A7AA009AE1FCE31B0611E72866AC3" modifiedBy-id="0" name="offer" namespace="cus" xtkschema="xtk:srcSchema"> <createdBy _cs="Administrator (admin)"/> <modifiedBy _cs="Administrator (admin)"/> <element img="nms:offer.png" label="Marketing offers" labelSingular="Marketing offer" name="offer"> <element label="Content" name="view"> <element label="Price" name="price" type="long" xml="true"/> <element label="Title 2" name="title2" type="string" xml="true"/> <element advanced="true" desc="Price calculation script." label="Script price" name="price_jst" type="CDATA" xml="true"/> <element advanced="true" desc="Title calculation script." label="Script title" name="title2_jst" type="CDATA" xml="true"/> </element> </element> </srcSchema>note caution CAUTION Elk element moet tweemaal worden gedefinieerd. CDATA-typeelementen ("_jst") kunnen personalisatievelden bevatten. Vergeet niet de databasestructuur bij te werken. U kunt het aanbiedingsschema uitbreiden om nieuwe velden toe te voegen in batch- en eenheidsmodus en in elke gewenste indeling (tekst, HTML en XML).
-
breid de aanbiedingsformule uit om nieuwe gebieden uit te geven en een bestaand gebied te wijzigen
Bewerk de Aanbieding (nsm) inputvorm.
Voeg in de sectie Weergaven de twee nieuwe velden in met de volgende inhoud:
code language-none <input label="Title 2" margin-right="5" prebuildSubForm="false" type="subFormLink" xpath="title2_jst"> <form label="Edit title 2" name="editForm" nothingToSave="true"> <input nolabel="true" toolbarAlign="horizontal" type="jstEdit" xpath="." xpathInsert="/ignored/customizeTitle2"> <container> <input menuId="viewMenuBuilder" options="inbound" type="customizeBtn" xpath="/ignored/customizeTitle2"/> </container> </input> </form> </input> <input nolabel="true" type="edit" xpath="title2_jst"/> <input label="Price" margin-right="5" prebuildSubForm="false" type="subFormLink" xpath="price_jst"> <form label="Edit price" name="editForm" nothingToSave="true"> <input nolabel="true" toolbarAlign="horizontal" type="jstEdit" xpath="." xpathInsert="/ignored/customizePrice"> <container> <input menuId="viewMenuBuilder" options="inbound" type="customizeBtn" xpath="/ignored/customizePrice"/> </container> </input> </form> </input> <input colspan="2" label="Prix" nolabel="true" type="number" xpath="price_jst"/>Opmerking toevoegen aan het doel-URL-veld:
note caution CAUTION De velden van het formulier ( <input>) moeten verwijzen naar de CDATA-typeelementen die zijn gedefinieerd in het gemaakte schema.De rendering in het formulier met aanbiedingsweergaven ziet er als volgt uit:
De velden Title 2 en Price zijn toegevoegd en het veld Destination URL wordt niet meer weergegeven.
-
Een aanbieding maken
Voor meer bij het creëren van aanbiedingen, verwijs naar deze pagina .
In het volgende gebruiksgeval wordt de aanbieding als volgt vermeld:
-
keur de aanbieding goed
Goedkeuren of laten goedkeuren door iemand anders, dan activeren op de aanbiedingsruimte die bij de laatste stap is gecreëerd, zodat deze beschikbaar wordt gesteld in de gekoppelde live omgeving.
-
vraag van de Motor en resultaat op de pagina van HTML
De oproep aan de engine voor voorstellen op de HTML-pagina ziet er als volgt uit:
code language-none <script id="interactionProposalScript" src="https://<SERVER_URL>/nl/interactionProposal.js?env=OE7&cb=alert" type="text/javascript">De waarde van de "env"parameter is de interne naam van het levende milieu.
De waarde van de "cb"parameter is de naam van de functie die de knoop van XML moet interpreteren die door de motor is teruggekeerd. In ons voorbeeld opent de aangeroepen functie een modaal venster (alert() functie).
Het XML-knooppunt dat door de Offer-engine wordt geretourneerd, ziet er als volgt uit:
code language-none <propositions> <proposition id="a28002" offer-id="10322005" weight="1" rank="1" space="SPC14" div="i_SPC14"> <xmlOfferView> <title>Travel to Russia</title> <price>3456</price> <description>Discover this vacation package!INCLUDES 10 nights. FEATURES buffet breakfast daily. BONUS 5th night free.</description> <image> <path>https://myinstance.com/res/Track/ae1d2113ed732d58a3beb441084e5960.jpg</path> <alt>Travel to Russia</alt> </image> </xmlOfferView> </proposition> </propositions>
Een renderfunctie gebruiken using-a-rendering-function-
Het is mogelijk een XML-renderfunctie te gebruiken om een aanbiedingspresentatie te maken. Deze functie wijzigt het XML-knooppunt dat tijdens het aanroepen van de Offertenengine naar de HTML-pagina wordt geretourneerd.
-
Ga naar de aanbiedingsruimte en klik op Edit functions .
-
Selecteer Overload the XML rendering function.
-
Ga naar de tab XML rendering en voeg de gewenste functie in.
De functie kan er als volgt uitzien:
code language-none function (proposition) { delete proposition.@id; proposition.@newAttribute = "newValue"; }
SOAP-integratie instellen
De SOAP-webservices die voor het beheer van aanbiedingen worden aangeboden, 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 SOAP, voeg het nms :proposition #Propose bevel toe dat door de volgende parameters wordt gevolgd:
- targetId: primaire sleutel van de ontvanger (kan een samengestelde sleutel zijn).
- maxCount: specificeert het aantal aanbiedingsvoorstellen voor het contact.
- context: laat u contextinformatie in het ruimteschema toevoegen. Als het gebruikte schema nms:interaction is,
<empty>zou moeten worden toegevoegd. - categorieën: specificeert de categorie(ën) de aanbiedingen moeten tot behoren.
- thema's: specificeert de thema(s) die de aanbieding(en) moeten behoren tot.
- uuid: waarde van het permanente koekje van Adobe Campaign ("uuid230").
- nli: waarde van het de zittingskoekje van Adobe Campaign ("ongeldig").
- noProp: gebruik de "ware"waarde om voorsteltoevoeging te deactiveren.
Als antwoord op de vraag, zal de dienst van SOAP de volgende parameters terugkeren:
- interactionId: identiteitskaart van de interactie.
- voorstellen: Het element van XML, bevat de lijst van voorstellen, elk met hun eigen identiteitskaart en vertegenwoordiging van HTML.
Aanbieding bijwerken offer-update
Voeg het nms :interaction #UpdateStatus bevel aan URL toe, die door deze parameters wordt gevolgd:
- voorstel: koord van karakters, bevat het propositie identiteitskaart die als output tijdens een aanbiedingsvoorstel wordt gegeven. Verwijs naar voorstel van de Aanbieding .
- status: koordtype, specificeert het de nieuwe status van de aanbieding. De mogelijke waarden zijn vermeld in propositionStatus opsomming , in het nms:common schema. Bijvoorbeeld, uit-van-de-doos, beantwoordt aantal 3 aan Toegelaten status.
- context: Het element van XML, laat u contextinformatie in het ruimteschema toevoegen. Als het gebruikte schema nms:interaction is,
<empty>zou moeten worden toegevoegd.
Voorbeeld met een SOAP-aanroep example-using-a-soap-call
Hier volgt een voorbeeld van code voor een SOAP-aanroep:
<%
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 )
{
}
%>