Migration Guide von JSON/XML zu REST
Die nachfolgenden Informationen gelten unabhängig vom gewählten Rückgabeformat (JSON oder XML). Der Einfachheit halber ist exemplarisch format=json als Parameter angegeben. Dieser Parameter entfällt in der REST-API.
Informationen zu neuen, nicht verpflichtenden Parametern der REST-Endpunkte sowie die zugehörigen Rückgabewerte entnehmen Sie bitte der API-Dokumentation zu Ihrer FACT-Finder-Installation (https://<Ihre Basis-URL>/fact-finder/swagger-ui.html).
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
Fehlermeldungen (4xx und 5xx) werden als einzelne Fehlermeldung mit folgender Struktur zurückgegeben:
ProductCampaign
getProductCampaigns
Den entsprechenden REST-Endpunkt zu /ProductCampaign.ff?do=getProductCampaigns&format=json&… finden Sie unter /rest/v4/campaign/{channel}/product (GET).
Der Parameter idOnly wurde zu idsOnly umbenannt.
Der verpflichtende Parameter articleNumber wurde zu id umbenannt.
getShoppingCartCampaigns
Den entsprechenden REST-Endpunkt zu /ProductCampaign.ff?do=getShoppingCartCampaigns&format=json&… finden Sie unter /rest/v4/campaign/{channel}/shoppingcart (GET).
Der Parameter idOnly wurde zu idsOnly umbenannt.
Der verpflichtende Parameter articleNumberList wurde zu productNumber umbenannt.
getPageCampaigns
Den entsprechenden REST-Endpunkt zu /ProductCampaign.ff?do=getPageCampaigns&format=json&… finden Sie unter /rest/v4/campaign/{channel}/page (GET).
Der Parameter idOnly wurde zu idsOnly umbenannt.
Delete
Den entsprechenden REST-Endpunkt zu /Delete.ff finden Sie unter /rest/v4/records/{channel} (DELETE).
Der Parameter save ist entfallen, da er nicht mehr benötigt wird.
Insert
Den entsprechenden REST-Endpunkt zu /Insert.ff finden Sie unter /rest/v4/records/{channel} (POST).
Die Parameter save und fieldname sind entfallen, da sie nicht mehr benötigt werden.
Der verpflichtende Parameter records (application/json, body) wurde hinzugefügt. Er nimmt JSON-formatierte Einträge im Format [FlatRecord { worldmatch record }] entgegen.
Update
Den entsprechenden REST-Endpunkt zu /Update.ff finden Sie unter /rest/v4/records/{channel} (PUT).
Die Parameter save und fieldname sind entfallen, da sie nicht mehr benötigt werden.
Der verpflichtende Parameter records (application/json, body) wurde hinzugefügt. Er nimmt JSON-formatierte Einträge im Format [FlatRecord { worldmatch record }] entgegen.
Import
Suche
Den entsprechenden REST-Endpunkt zu /Import.ff?format=json&channel={channel(s)} finden Sie unter /rest/v4/import/search (POST).
Suggest
Den entsprechenden REST-Endpunkt zu /Import.ff?format=json&type=suggest&channel={channel(s)} finden Sie unter /rest/v4/import/suggest (POST).
Der Parameter type ist entfallen. Stattdessen erhält der Suggest-Import einen eigenen Endpunkt.
Compare
Den entsprechenden REST-Endpunkt zu /Compare.ff&format=json&… finden Sie unter /rest/v4/records/{channel}/compare (GET).
Der Parameter recordIds wurde zu id umbenannt.
Recommender
importData
Den entsprechenden REST-Endpunkt zu /Recommender.ff?do=importData&format=json&… finden Sie unter /rest/v4/import/recommendation (POST).
Der Parameter download ist entfallen.
getRecommendation
Den entsprechenden REST-Endpunkt zu /Recommender.ff?do=getRecommendation&format=json&… finden Sie unter /rest/v4/records/{channel}/recommendation (GET).
Der verpflichtende Parameter productId wurde zu id umbenannt.
Der Parameter maxRecommendations wurde zu maxResults umbenannt.
Search
Den entsprechenden REST-Endpunkt zu /Search.ff?format=json&… finden Sie unter /rest/v4/search (POST) bzw. /rest/v4/search/{channel} (GET).
Die folgenden Parameter sind entfallen:
- detailCustomParameters (params)
- followSearch (params)
- articleNumber (params)
- seoPath (params)
- generateAdvisorTree (searchControlParams)
- useKeywords (searchControlParams)
- queryOrigin (trackingInformation)
- site (trackingInformation)
Der Parameter filters (params) wurde zu filter umbenannt.
Der Parameter noArticleNumberSearch (params) 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.
Der Parameter resultsPerPage (params) wurde zu hitsPerPage umbenannt.
Der Parameter disableCache (searchControlParams) 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 sessionID (trackingInformation) wurde zu sid umbenannt.
Der Parameter sortsList (params) wurde zu sort umbenannt.
Suggest
Den entsprechenden REST-Endpunkt zu /Suggest.ff?format=json&… finden Sie unter /rest/v4/suggest (POST) bzw. /rest/v4/suggest/{channel} (GET).
Die folgenden Parameter sind entfallen:
- detailCustomParameters (params)
- followSearch (params)
- articleNumber (params)
- seoPath (params)
- sortsList (params)
- disableCache (searchControlParams)
- generateAdvisorTree (searchControlParams)
- idsOnly (searchControlParams)
- useAsn (searchControlParams)
- useAso (searchControlParams)
- useCampaigns (searchControlParams)
- useFoundWords (searchControlParams)
- useKeywords (searchControlParams)
- usePersonalization (searchControlParams)
- useSemanticEnhancer (searchControlParams)
Der Parameter filters (params) wurde zu filter umbenannt.
Der Parameter noArticleNumberSearch (params) 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.
Der Parameter resultsPerPage (params) wurde zu hitsPerPage umbenannt.
SimilarRecords
Den entsprechenden REST-Endpunkt zu /SimilarRecords.ff?format=json&… finden Sie unter /rest/v4/records/{channel}/similar (GET).
Der Parameter recordId (params) wurde zu id umbenannt.
Der verpflichtende Parameter idType (string, query) wurde hinzugefügt. Er spezifiziert, welchen Typ die ID besitzt.
TagCloud
Es existiert kein entsprechender REST-Endpunkt zu /TagCloud.ff?do=getTagCloud&format=json&…, da die Funktion entfallen ist.
Tracking
Die entsprechenden REST-Endpunkte zu /Tracking.ff?… finden Sie unter /rest/v4/track/{channel}/… (POST).
Es existieren derzeit die folgenden Tracking-Endpunkte:
- /rest/v4/track/{channel}/cart
Tracking von Cart-Events
- /rest/v4/track/{channel}/checkout
Tracking von Checkout-Events
- /rest/v4/track/{channel}/click
Tracking von Click-Events
- /rest/v4/track/{channel}/feedback
Tracking von Feedback-Events
- /rest/v4/track/{channel}/landingPageClick
Tracking von Click-Events für Produkte, die durch eine Kampagne auf einer Landing-Page bereitgestellt wurden.
- /rest/v4/track/{channel}/log
Tracking von Log-Events
- /rest/v4/track/{channel}/login
Tracking von Log-In-Events
- /rest/v4/track/{channel}/predbasketClick
Tracking von Predictive-Basket-Klickevents
- /rest/v4/track/{channel}/recommendationClick
Tracking von Recommendation-Klickevents
Nähere Informationen zu den einzelnen Tracking-Endpunkten entnehmen Sie bitte der API-Dokumentation zu Ihrer FACT-Finder-Installation (https://<Ihre Basis-URL>/fact-finder/swagger-ui.html).