Migration Guide 7.3 zu NG 1.2 (REST)
Der Hauptteil des Versionswechsels wird als Projekt von unseren Mitarbeitenden durchgeführt. Nach dessen Abschluss müssen folgende Änderungen von Ihnen vorgenommen werden.
Detaillierte Informationen zur Einbindung neuer Funktionen finden Sie in der Integrationsdokumentation für NG 1.2 bwz. der API-Dokumentation zu Ihrer FACT-Finder-Installation (https://<Ihre Basis-URL>/fact-finder/swagger-ui.html).
Hinweis für Nutzende der SOAP- oder JSON/XML-API
Verwenden Sie noch die SOAP- oder JSON/XML-API zur Anbindung Ihres Shops, muss zunächst eine vollständige Neuintegration auf REST erfolgen.
SOAP
Informationen zur Migration von SOAP finden Sie im Migration Guide von SOAP zu REST.
JSON/XML
Informationen zur Migration von JSON/XML finden Sie im Migration Guide von JSON/XML zu REST.
Allgemeines
Authentifizierung
Ab dem 01.04.2022 wird OAuth2 nicht mehr von FACT-Finder unterstützt.
Als Optionen zur Authentifizierung steht Basic Authentication zur Verfügung:
Basic Authentication
Um sich mit Basic Authentication zu authentifizieren, muss der Authorization-Header folgendes enhalten: das Wort Basic, gefolgt von einem Leerzeichen und der Base64-encodierten username:passwort-Zeichenkette. Ein Header mit den Anmeldedaten factfinder:pw würde so aussehen: Authorization: Basic ZmFjdGZpbmRlcjpwdw=. ZmFjdGZpbmRlcjpwdw== ist hierbei die Base64-Repräsentation von factfinder:pw.
Fehlermeldungen
Die Struktur der Fehlermeldungen (4xx und 5xx) hat sich verändert.
Es wird nun keine Liste aus Fehlermeldungen mehr, sondern eine einzige Fehlermeldung mit folgender Struktur zurückgegeben:
campaign
Page campaigns (GET)
Der Endpunkt ist von /rest/v1/campaign/{channel}/page zu /rest/v4/campaign/{channel}/page umgezogen.
Request
Der Parameter advisorStatus ist entfallen.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Product campaigns (GET)
Der Endpunkt ist von /rest/v1/campaign/{channel}/product zu /rest/v4/campaign/{channel}/product umgezogen.
Request
Der Parameter advisorStatus ist entfallen.
Der Parameter productNumber wurde zu id umbenannt.
Der Parameter idType (string, query) wurde hinzugefügt. Er spezifiziert, welchen Typ die ID besitzt. Der Typ id identifiziert eine Produktgruppe (z. B. ein Kleidungsstück, das in mehreren Varianten, bspw. Farben, angeboten wird), productNumber identifiziert ein einzelnes Produkt (z. B. ein grünes T-Shirt). Der Standardwert ist productNumber.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Shopping cart campaigns (GET)
Der Endpunkt ist von /rest/v1/campaign/{channel}/shoppingcart zu /rest/v4/campaign/{channel}/shoppingcart umgezogen.
Request
Der Parameter advisorStatus ist entfallen.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
compareproducts
Compare Products (GET)
Der Endpunkt ist von /rest/v1/compareproducts/{channel} zu /rest/v4/records/{channel}/compare umgezogen.
Request
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
import
Recommendation (POST)
Der Endpunkt ist von /rest/v1/import/recommendation zu /rest/v4/import/recommendation umgezogen.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Running (GET)
Der Endpunkt ist von /rest/v1/import/running zu /rest/v4/import/running umgezogen.
Response
Der Response 200 (OK) gibt einen Boolean-Wert (true/false) zurück.
Search (POST)
Der Endpunkt ist von /rest/v1/import/search zu /rest/v4/import/search umgezogen.
Request
Der Parameter cacheFlush (boolean, query) wurde hinzugefügt. Wenn true, wird der Cache geleert, nachdem ein Channel importiert worden ist. Der Standardwert ist false.
Der Parameter importStage (string, query) wurde hinzugefügt. IMPORT_ONLY füllt nur die Zwischendatenbank, LOAD_ONLY importiert die Datenbank in den Arbeitsspeicher, FULL kombiniert beide Stufen. Der Standardwert ist FULL.
Der Parameter includeCustomerPrices (boolean, query) wurde hinzugefügt. Wenn true, wird nach dem Such-Import ein Customer-Specific-Pricing-Import gestartet. Wenn Customer Specific Pricing in einem Channel nicht aktiviert ist, wird der Parameter ignoriert. Der Standardwert ist false.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Suggest (POST)
Der Endpunkt ist von /rest/v1/import/suggest zu /rest/v4/import/suggest umgezogen.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
management
In NG 1.2 gibt es zahlreiche neue Management-Endpunkte. Über diese können Sie sich in der Integrationsdokumentation informieren.
Reload Configuration (POST)
Der Endpunkt ist von /rest/v1/management/reloadConfiguration zu /rest/v4/management/reloadConfiguration umgezogen.
What’s hot (POST)
Dieses Modul ist in NG 1.2 entfallen.
predbasket
Predictive Basket (GET)
Der Endpunkt ist von /rest/v1/predictivebasket/{channel} zu /rest/v4/predictivebasket/{channel} umgezogen.
Request
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
recommendation
Recommendation (GET)
Der Endpunkt ist von /rest/v1/recommendation/{channel} zu /rest/v4/records/{channel}/recommendation umgezogen.
Request
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
records
In NG 1.2 gibt es zahlreiche neue Records-Endpunkte. Über diese können Sie sich in der Integrationsdokumentation informieren.
Delete records (DELETE)
Der Endpunkt ist von /rest/v1/records/{channel} zu /rest/v4/records/{channel} umgezogen.
Request
Der Parameter save ist entfallen.
Der Parameter recordId wurde zu id umbenannt.
Der Parameter deleteRequest (application/json, body) wurde hinzugefügt. Er enthält die Löschabfrage im JSON-Format, bspw. { "ids": [ "string" ] }.
Der Parameter idType (string, query) wurde hinzugefügt. Er spezifiziert, welchen Typ die ID besitzt. Der Typ id identifiziert eine Produktgruppe (z. B. ein Kleidungsstück, das in mehreren Varianten, bspw. Farben, angeboten wird), productNumber identifiziert ein einzelnes Produkt (z. B. ein grünes T-Shirt). Der Standardwert ist productNumber.
Der Parameter verbose (boolean, query) wurde hinzugefügt. Wenn true, werden in der Antwort zusätzliche Informationen geliefert. Der Standardwert ist false.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Get records (GET)
Der Endpunkt ist von /rest/v1/records/{channel} zu /rest/v4/records/{channel} umgezogen.
Request
Der Parameter recordId wurde durch den Parameter productNumber (array [string], query) ersetzt. Er enthält die Produktnummern der Einträge, die zurückgegeben werden sollen.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Der Parameter verbose (boolean, query) wurde hinzugefügt. Wenn true, werden in der Antwort zusätzliche Informationen geliefert. Der Standardwert ist false.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Update records (PUT)
Der Endpunkt ist von /rest/v1/records/{channel} zu /rest/v4/records/{channel} umgezogen.
Request
Der Parameter save ist entfallen.
Der verpflichtende Parameter records (application/json, body) nimmt Records im JSON-Format entgegen.
Der Parameter verbose (boolean, query) wurde hinzugefügt. Wenn true, werden in der Antwort zusätzliche Informationen geliefert. Der Standardwert ist false.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Insert records (POST)
Der Endpunkt ist von /rest/v1/records/{channel} zu /rest/v4/records/{channel} umgezogen.
Request
Der Parameter save ist entfallen.
Der verpflichtende Parameter records (application/json, body) nimmt Records im JSON-Format entgegen.
Der Parameter verbose (boolean, query) wurde hinzugefügt. Wenn true, werden in der Antwort zusätzliche Informationen geliefert. Der Standardwert ist false.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
refreshdatabases
All (POST)
Der Endpunkt unter /rest/v1/refreshdatabases/all ist entfallen.
Recommendation (POST)
Der Endpunkt unter /rest/v1/refreshdatabases/recommendation ist entfallen.
Search (POST)
Der Endpunkt unter /rest/v1/refreshdatabases/search ist entfallen.
Suggest (POST)
Der Endpunkt unter /rest/v1/refreshdatabases/suggest ist entfallen.
search
In NG 1.2 gibt es zahlreiche neue Search-Endpunkte. Über diese können Sie sich in der Integrationsdokumentation informieren.
Search (GET)
Der Endpunkt ist von /rest/v1/search/{channel} zu /rest/v4/search/{channel} umgezogen.
Request
Die folgenden Parameter sind entfallen:
- seoPath
- useKeywords
- generateAdvisorTree
Der Parameter navigation hat einen eigenen Endpunkt unter /rest/v4/navigation/{channel} (GET) bzw. /rest/v4/navigation (POST) erhalten.
Der Parameter productsPerPage wurde zu hitsPerPage umbenannt.
Der Parameter disableCache wurde zu useCache. Dadurch ergibt sich eine Umkehrung der Werte! Wenn true, wird das Ergebnis aus dem Cache zurückgegeben, falls ein passender Eintrag existiert. Der Standardwert ist true.
Der Parameter noArticleNumberSearch wurde zu articleNumberSearch. Er legt fest, ob die Abfrage als Artikelnummer interpretiert werden soll. Bei DETECT wird automatisiert ermittelt, ob es sich bei der Abfrage um eine Artikelnummer handelt, ALWAYS interpretiert den Suchbegriff stets als Artikelnummer, NEVER nie. Der Standardwert ist DETECT.
Die Datenstruktur des Parameters filter hat sich verändert. Die Einträge werden im Format facetid:value übergeben; z. B. Brand:FACT-Finder. Um alle Felder zu durchsuchen, ersetzen Sie die facedId durch ein Asterisk (*).
Der Parameter substringFilter (array [string], query) wurde hinzugefügt. Er filtert die Einträge nach einem Substring des Feldwerts. Ein Filter kann mehrere Werte enthalten, durch Einsetzen des Präfix „!“ kann ein Wert ausgeschlossen werden. Die Einträge werden im Format facetid:value übergeben. Um alle Felder zu durchsuchen, ersetzen Sie die facedId durch ein Asterisk (*). Dieser Filtertyp unterstützt allerdings das Ausschluss-Präfix nicht.
Der Parameter forceAbVariant (array [string], query) wurde hinzugefügt. Forciert die Anwendung bestimmter A/B-Varianten auf das Suchergebnis. Die Einträge werden im Format abTestId:AbVariantId übergeben; z. B. 1b7f3b1a-600f-4d23-b1bf-ac9978628d17:A.
Der Parameter marketId (array [string], query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um nur Produkte anzuzeigen, die Werte für diese Market IDs enthalten.
Der Parameter cacheIrrelevant (array [string], query) wurde hinzugefügt. Setzt Parameter als irrelevant für den Cache.
Der Parameter latitude (number, query) wurde hinzugefügt. Er gibt den Breitengrad der Location an.
Der Parameter longitude (number, query) wurde hinzugefügt. Er gibt den Längengrad der Location an.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Der Parameter maxCountVariants (integer, query) wurde hinzugefügt. Er legt die maximale Anzahl an Varianten fest, die pro Eintrag zurückgegeben werden.
Der Parameter useGeo(boolean, query) wurde hinzugefügt. Wenn true, wird die Geo-Suchfunktion aktiviert. Der Standardwert ist true.
Der Parameter useAbTest (boolean, query) wurde hinzugefügt. Wenn true, wird die AB-Test-Funktion aktiviert. Der Standardwert ist true.
Der Parameter useSearch (boolean, query) wurde hinzugefügt. Wenn true, wird die die Suche für die Abfrage ausgeführt. Der Standardwert ist true.
Der Parameter useDeduplication (boolean, query) wurde hinzugefügt. Wenn true, wird die festgelegte Deduplizierung von Varianten durchgeführt. Der Standardwert ist true.
Der Parameter deduplicationField (string, query) wurde hinzugefügt. Er legt fest, in welchem Feld Varianten dedupliziert werden sollen.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Search (POST)
Der Endpunkt ist von /rest/v1/search/ zu /rest/v4/search/ umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
similarproducts
Similar Products (GET)
Der Endpunkt ist von /rest/v1/similarproducts/{channel} zu /rest/v4/records/{channel}/similar umgezogen.
Request
Der verpflichtende Parameter idType (string, query) wurde hinzugefügt. Er spezifiziert, welchen Typ die ID besitzt. Der Typ id identifiziert eine Produktgruppe (z. B. ein Kleidungsstück, das in mehreren Varianten, bspw. Farben, angeboten wird), productNumber identifiziert ein einzelnes Produkt (z. B. ein grünes T-Shirt). Der Standardwert ist productNumber.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
suggest
Get Suggestions (GET)
Der Endpunkt ist von /rest/v1/suggest/{channel} zu /rest/v4/suggest/{channel} umgezogen.
Request
Der Parameter filter (array [string], query) wurde hinzugefügt. Er filtert die Einträge nach dem gesamten Feldwert. Ein Filter kann mehrere Werte enthalten, durch Einsetzen des Präfix „!“ kann ein Wert ausgeschlossen werden. Die Einträge werden im Format facetid:value übergeben. Um alle Felder zu durchsuchen, ersetzen Sie die facedId durch ein Asterisk (*). Dieser Filtertyp unterstützt allerdings das Ausschluss-Präfix nicht.
Der Parameter substringFilter (array [string], query) wurde hinzugefügt. Er filtert die Einträge nach einem Substring des Feldwerts. Ein Filter kann mehrere Werte enthalten, durch Einsetzen des Präfix „!“ kann ein Wert ausgeschlossen werden. Die Einträge werden im Format facetid:value übergeben. Um alle Felder zu durchsuchen, ersetzen Sie die facedId durch ein Asterisk (*). Dieser Filtertyp unterstützt allerdings das Ausschluss-Präfix nicht.
Der Parameter sort (array [string], query) wurde hinzugefügt. Er sortiert das Ergebnis. Die Einträge werden im Format FieldName:order übergeben, wobei order entweder den Wert asc oder desc enthalten muss; z. B. Manufacturer:asc.
Der Parameter cacheIrrelevant (array [string], query) wurde hinzugefügt. Setzt Parameter als irrelevant für den Cache.
Der Parameter latitude (number, query) wurde hinzugefügt. Er gibt den Breitengrad der Location an.
Der Parameter longitude (number, query) wurde hinzugefügt. Er gibt den Längengrad der Location an.
Der Parameter purchaserId (string, query) wurde hinzugefügt. Verwenden Sie diesen Parameter, um die Kunden-ID zu übergeben. Diese ID wird nur benötigt, wenn das Customer-Specific-Pricing-Modul aktiviert ist, andernfalls wird sie ignoriert.
Der Parameter page (string, query) wurde hinzugefügt. Enthält das Suchergebnis viele Einträge, werden diese in Seiten aufgeteilt. Dies reduziert die Datenmenge, die auf ein Mal übertragen werden muss. Sie können angeben, welche Seite zurückgegeben werden soll; die Nummerierung der Seiten beginnt mit 1.
Der Parameter hitsPerPage (string, query) wurde hinzugefügt. Im FACT-Finder-Management-Interface können Sie festlegen, wie viele Ergebnisse standardmäßig zurückgegeben werden sollen. Bevorzugen Sie eine andere Anzahl, können Sie diese durch diesen Parameter festlegen.
Der Parameter maxCountVariants (integer, query) wurde hinzugefügt. Er legt die maximale Anzahl an Varianten fest, die pro Eintrag zurückgegeben werden.
Der Parameter advisorStatus (string, query) wurde hinzugefügt. Hier können Sie die aktuelle Kampagnen-ID und den Antwortpfad übergeben. Die Einträge werden im Format campaignId-answerPath übergeben.
Der Parameter searchField (string, query) wurde hinzugefügt. Normalerweise durchsucht FACT-Finder alle durchsuchbaren Felder. Es ist allerdings auch möglich, nur ein spezifisches Feld zu durchsuchen.
Der Parameter articleNumberSearch (string, query) wurde hinzugefügt. Er legt fest, ob die Abfrage als Artikelnummer interpretiert werden soll. Bei DETECT wird automatisiert ermittelt, ob es sich bei der Abfrage um eine Artikelnummer handelt, ALWAYS interpretiert den Suchbegriff stets als Artikelnummer, NEVER nie. Der Standardwert ist DETECT.
Der Parameter sid (string, query) wurde hinzugefügt. Er enthält die Session-ID des Nutzers oder der Nutzerin.
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
Get Suggestions (POST)
Der Endpunkt ist von /rest/v1/suggest/ zu /rest/v4/suggest/ umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Response
Der Response 200 (OK) gibt Daten im folgenden Format zurück:
tagcloud
Tag Cloud (GET)
Der Endpunkt unter /rest/v1/tagcloud/{channel} ist entfallen.
tracking
In NG 1.2 gibt es neue Tracking-Endpunkte. Über diese können Sie sich in der Integrationsdokumentation informieren.
Cart (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/cart zu /rest/v4/track/{channel}/cart umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Checkout (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/checkoutzu /rest/v4/track/{channel}/checkout umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Click (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/click zu /rest/v4/track/{channel}/click umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Feedback (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/feedback zu /rest/v4/track/{channel}/feedback umgezogen.
Log (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/log zu /rest/v4/track/{channel}/log umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):
Login (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/login zu /rest/v4/track/{channel}/login umgezogen.
Recommendation click (POST)
Der Endpunkt ist von /rest/v1/track/{channel}/recommendationClick zu /rest/v4/track/{channel}/recommendationClick umgezogen.
Request
Der Request-Body nimmt Daten im folgenden Format entgegen (mit * gekennzeichnete Parameter sind verpflichtend):