Ändern des Standardverhaltens der Engine hooks
Erweiterungspunkte (Hooks) bieten die Möglichkeit, das Standardverhalten des Angebotsmoduls Ihren Bedürfnissen entsprechend anzupassen.
In Adobe Campaign stehen auf Platzierungsebene die Erweiterungspunkte Laden der Zielgruppe und Vorschlags-Anschlussvorgang zur Verfügung:
Auf Ebene der Gewichtung ist der Erweiterungspunkt Dynamisches Angebot verfügbar:
Laden der Zielgruppe target-loading
Dieser Erweiterungspunkt erlaubt die Anreicherung des (durch die native Abfrage geladenen) Kontaktprofils mit zusätzlichen Daten aus externen Systemen.
Erfasste Daten müssen in den Aufrufdatenknoten (Interaktionsknoten) eingefügt werden. Der Integrator muss das Aufrufdatenschema zuvor erweitert haben, um die Struktur der erfassten Daten zu definieren. Die Benutzerin bzw. der Benutzer kann auf diese Daten auf die gleiche Weise zugreifen wie auf Standardaufrufdaten (auf Eignungsregel- und Personalisierungsebene).
Eingabeparameter:
- xmlInteraction (XML): Interaction-Knoten;
- aTargetId (Tabelle): Kennung des Zielkontakts;
- sUuid230 (String): Wert des permanenten Cookies uuid230;
- sNlid (String): Wert des Sitzungs-Cookies nlid.
Ausgabeparameter:
- angereicherter Interaction-Knoten (erster Parameter des Erweiterungspunkts).
Beispiel:
// Call an external system to get additional data for the target
var additionalData = getUrl("https://EXTERNAL_SYSTEM?target=" + encodeURIComponent(aTargetId.join("|")));
// Enrich the context with this data
interaction.@additionalData = additionalData;
Vorschlags-Anschlussvorgang proposition-post-processing-
Dieser Erweiterungspunkt ermöglicht es, Konsistenz und Kompatibilität der geeigneten Vorschläge innerhalb einer Interaktion zu prüfen. Außerdem können Sie eine neue Scoring- oder Wahrscheinlichkeitsberechnungsfunktion definieren.
Anwendungsbeispiel für Kohärenzregeln:
- Im Rahmen einer Modulabfrage: Begrenzung der Anzahl an Vorschlägen, die sich auf dasselbe Produkt oder dieselbe Kategorie beziehen.
- Innerhalb einer Interaktion: ausschließliche Unterbreitung von Angeboten, die sich auf dasselbe Produkt beziehen.
Der Anschlussvorgang wird nach Anwendung der Typologieregeln und der Sortierung der geeigneten Vorschläge, aber vor der Gewichtung durchgeführt.
Eingabeparameter:
-
aProposition: Tabelle der geeigneten Vorschläge. Ein Element dieser Tabelle weist folgende Struktur auf
code language-none { offer_id:1234, weight:2} -
dicOffer (xml type): Zusammenfassung aller Attribute der geeigneten Angebote (Angebots-Code, Kategorie-ID, vollständiger Name der Kategorie, Startdatum, Enddatum, Titel, interner Name, Angebots-ID, zusätzliche Angebotsfelder). Zum Beispiel
code language-none { "1242": <offer category-id="61242" categoryFullName="/FULL/PATH/TO/CATEGORY/" code="CODE" endDate="" id="62473" label="LABEL" name="OFR38_OE4" product-id="43" startDate=""/>, "1243": ...} -
xmlTarget (XML): Knoten der Profildaten;
-
xmlInteraction (XML): Knoten der Aufrufdaten.
-
iPropNumber (Integer): Anzahl erwarteter Angebote.
Ausgabeparameter:
- Liste der veränderten Vorschläge (erster Parameter des Erweiterungspunkts);
- veränderter Interaction-Knoten.
Beispiel:
var aReturnedProps = [];
if( aProposition.length > 0 )
{
var iReturnedProps = 0;
for( var iPropIdx = 0; iPropIdx < aProposition.length && iReturnedProps < iPropNumber; iPropIdx ++ )
{
// Check a consistency rule for instance
if( true )
{
aReturnedProps.push(aProposition[iPropIdx]);
iReturnedProps++;
}
}
}
return aReturnedProps;
Dynamische Angebote dynamic-offer
Dieser Erweiterungspunkt ermöglicht die Abfrage einer externen Engine, um eine Liste an mit einem Angebot verknüpften Produkten auszuwählen. Sie wird im Angebot nach den Eignungsregeln und vor der Anwendung der Typologieregeln konfiguriert.
Der Integrator muss zuvor das Vorschlagsschema PropositionRcp um die mit dem Vorschlag zu speichernden zusätzlichen Produktdaten erweitern. Über die Relation Aktueller Vorschlag auf der Registerkarte Speicherung der Platzierung lässt sich die Speicherung dieser Daten (z. B. Produktnummer) definieren.
Eingabeparameter:
- xmlOffer (XML): Angebot (Angebotscode, Kategoriekennung, vollständiger Name der Kategorie, Startdatum, Enddatum, Titel, interner Name, Angebotskennung, zusätzliche Angebotsfelder);
- dWeight (Double): Kontextgewichtung;
- xmlTarget (XML): Knoten der Profildaten;
- xmlInteraction (XML): Knoten der Aufrufdaten.
Ausgabeparameter:
Eine Tabelle mit zu erzeugenden Vorschlägen wird zurückgegeben. Jedes Element dieser Tabelle enthält folgende Informationen:
- Angebotskennung;
- zusätzliche Produktdaten (z. B. Produktcode);
- Gewichtung.
Beispiel:
var product = getUrl("https://EXTERNAL_SYSTEM?offerCode=" + encodeURIComponent(xmlOffer.@code));
if( product )
return [{offer_id: parseInt(String(xmlOffer.@id)), weight: dWeight, productId: product}];