Integration von Feedbackkampagnen

Der zweite Kampagnen-Typ ist „Feedback“. Mit Feedback-Kampagnen kann man Texte oder Produkte als „Feedback“ an den Shop zurückliefern lassen. Diese Kampagnen haben den flavour FEEDBACK.

Feedback-Texte

Frühere Versionen von FACT-Finder haben Platzhalter über Nummern verwaltet. Im Integrations-Projekt wurde definiert, an welcher Stelle der Shop-Seite welche Feedback-Text-Nummer erscheinen soll. Der Anwender wusste also, wenn er einen Feedback-Text mit der Nummer 3 anlegt, dann erscheint dieser Text beispielsweise über dem Suchergebnis[1]. Seit der Version 6.7 werden zudem Bezeichner für die Feedback-Texte hinterlegt und zurückgeliefert. Für aktuelle Integrationen soll der Bezeichner der Feedback-Texte als Identifikations-Merkmal verwendet werden.

Die Bezeichner werden während des Integrations-Projektes mit dem Shop-Betreiber vereinbart und in FACT-Finder konfiguriert. Der Anwender kann auf der Oberfläche zwischen den vordefinierten Bezeichnern wählen. Weiterhin wird für jeden Feedback-Text definiert, ob dieser HTML enthalten darf oder nicht. Dieses Merkmal wird ebenso von FACT-Finder zusammen mit dem Feedback-Text zurückgeliefert. Auf diese Weise ist es bei der Integration einfach zu entscheiden, ob der darzustellende Text html-escaped werden soll oder nicht[2].

XML

<ff xsi:noNamespaceSchemaLocation="schema/7.2/ffresult.xsd">
  ...
  <campaigns>
    <campaign nr="0" name="feed" category="Advisors" flavour="FEEDBACK">
      <feedback>
        <text nr="0">Feedbacktext ohne HTML und ohne Bezeichner.</text>
        <text nr="3" label="above ASN" html="true">&lt;div class="message"&gt;Feedbacktext mit HTML&lt;/div&gt;</text>
      </feedback>
    </campaign>
  </campaigns>
  ...
</ff>

JSON

{"searchResult":{
  ...
  "campaigns":[
    {
      "activeQuestions":[],
      "advisorTree":[],
      "category": "",
      "feedbackTexts":[
        {
          "html":false,
          "id":0,
          "label":null,
          "text":"Feedbacktext ohne HTML und ohne Bezeichner."
        },
        {
          "html":true,
          "id":3,
          "label":"above ASN",
          "text":"<div class=\"message\">Feedbacktext mit HTML</div>"
        }
      ],
      "flavour":"FEEDBACK",
      "id":"6",
      "name":"feed",
      "pushedProductsRecords":[],
      "target":{"destination":"","name":""}
    }
  ],
  ...
} ... }

Webservice / SOAP

class FeedbackText {
int        id;
String      text;
String      label;
boolean     html;
}

Pushed-Products

Für Feedback-Kampagnen können auch Produkte ausgewählt werden. FACT-Finder liefert die Produktliste zusammen mit der Kampagne zurück.

XML

<ff xsi:noNamespaceSchemaLocation="schema/7.1/ffresult.xsd">
  ...
  <campaigns>
    <campaign nr="0" name="Top-Seller" category="Products" flavour="FEEDBACK">
      <target><name/><destination/></target>
      <pushedProducts count="5">
        <product nr="0" id="247900">...</product>
        <product nr="1" id="241107">...</product>
        <product nr="2" id="247724">...</product>
        <product nr="3" id="247897">...</product>
        <product nr="4" id="247355">...</product>
      </pushedProducts>
    </campaign>
  </campaigns>
  ...
</ff>

JSON

{"searchResult":{
  ...
  "campaigns":
    [
      {
        "activeQuestions":[],
        "advisorTree":[],
        "category": "",
        "feedbackTexts":[],
        "flavour":"FEEDBACK",
        "id":"7",
        "name":"Top-Seller",
        "pushedProductsRecords":
          [
            ...
          ],
        "target":{"destination":"","name":""}
      },
    ],
  ...
} ... }

Webservice / SOAP

class Campaign {
  ...
  List<Record>           pushedProductsRecordList;
  ...
}

class Record {
  Map<String, String> record;
  String                id;
  short                simiMalusAdd;
  float                simiMalusMul;
}

Die Produkt-Listen-Einträge enthalten jeweils die vollständige Feld-Liste des Produkt-Datensatzes aus der FACT-Finder Datenbank. Um Bandbreite zu sparen, kann beim Such-Request der Parameter idsOnly=true übertragen werden. Dann werden die Datensatzinhalte weggelassen.

Es ist möglich, dass Kampagnen zurückgeliefert werden, die 0 Produkte enthalten. Der Anwender kann die Option wählen, Kampagnen-Produkte in das Suchergebnis einarbeiten zu lassen. In dem Fall wird keine explizite Kampagnen-Produkt-Liste zurückgeliefert. Die Kampagne wird trotzdem zurückgeliefert, um dem Shop zu signalisieren, dass eine Kampagne gegriffen hat.



[1] „Über dem Suchergebnis“ ist wirklich nur ein Beispiel. Die Position der Feedback-Texte wird vom Shop-Betreiber im Integrations-Projekt gewählt.

[2] Default-Wert für das HTML-Atrtibut ist false. Fehlt das HTML-Attribut, bedeutet das, dass der Feedback-Text kein HTML enthält, er muss also escaped werden.

Auf dieser Seite