Skip to main content
Die Schnittstelle für den Endpunkt config/ ermöglicht den umfassenden Zugriff auf die Shopkonfiguration. Über die REST API lassen sich Konfigurationsdaten abrufen, ändern, löschen oder neu anlegen. Dies umfasst sowohl globale Einstellungen als auch subshopspezifische Überschreibungen. Die Konfiguration basiert auf vordefinierten Schemas, die bestimmen, welche Daten zulässig sind. Änderungen an Konfigurationsknoten werden serverseitig auf Gültigkeit geprüft. Die REST API erlaubt damit die vollständige Verwaltung der Shopkonfiguration – wie sie auch über das Admin-Interface vorgenommen wird.

Unterstützte Methoden

Angabe aller unterstützten Methoden.

Struktur & Anwendung der Konfiguration über die API

Die Shopkonfiguration ist als gerichteter Graph organisiert. Jeder Knoten in diesem Graphen repräsentiert einen eigenständigen Konfigurationsbereich und kann andere Knoten referenzieren – beispielsweise um eine Sprache oder ein Land anzugeben. Jeder Konfigurationsknoten hat einen klar definierten Typ, für den ein Schema festlegt, welche Datenfelder erlaubt sind, welche Datentypen sie haben und, ob ein Knoten pro Subshop überschrieben werden darf oder nur einmalig existieren kann. Die Schemata beschreiben damit die Struktur der Konfigurationsdaten, nicht jedoch deren Inhalt. Die Konfiguration kann vollständig über die REST-API gepflegt werden. Das Admin Interface (AI) ist zusätzlich eine visuelle Darstellung dieser Schnittstelle. Alle Funktionen, die im Interface ausgeführt werden können, stehen auch über die API zur Verfügung – etwa das Erstellen, Anpassen, Löschen oder Überschreiben von Konfigurationsknoten. Damit eignet sich die API besonders für eine automatisierte Verwaltung der Konfiguration, etwa im Rahmen von:
  • CI/CD-Prozessen mit klar definierten Konfigurationszuständen,
  • dem Abgleich von Einstellungen zwischen Test- und Produktivsystemen,
  • oder der Verwaltung mandantenfähiger Umgebungen mit subshop-spezifischen Varianten.
Die REST-API bietet somit vollständigen Zugriff auf die Konfiguration ihres Shops. Um die Felder eines Knotens zu ermitteln, muss das zugehörige Schema über den Endpunkt GET config/schemas/{type} geladen werden. Die Struktur dieser Schemata wird im Feld properties beschrieben. Dort sind unter anderem die Felder id, type und optional subtype (z. B. bei type: list) enthalten. id legt fest, wie das Feld heißt, während type und subtype angeben, welche Inhalte erwartet werden. type: object kennzeichnet eine verschachtelte Struktur. Welche Konfigurationstypen im System verfügbar sind, lässt sich auf zwei Wegen abfragen:
  • über GET config/nodeTypes, das eine kompakte Liste aller Typen liefert,
  • oder alternativ über GET config/schemas, wo zusätzlich das Feld id enthalten ist.

Gültige {type}- und {selector}-Werte

Die folgenden Tabellen listen die gültigen Werte auf, die bei
  • GET /api/config/schemas/{type} als {type} und
  • GET /api/config/nodes/{selector} als Top-Level-{selector}
verwendet werden können. Die Unterknoten, Parameter und Beispiele der einzelnen Bereiche sind nicht Teil dieser API-Referenz. Sie sind vollständig im Dokument Konfiguration beschrieben. Dieser Abschnitt dient ausschließlich als Orientierungs für die gültigen Bezeichner.

Methoden für Einstellungen

Dieser Abschnitt beschreibt die verfügbaren REST-Endpunkte zur Verwaltung der Shop-Konfiguration im Admin-Bereich. Über die Schnittstelle können Schemas abgerufen, Konfigurationsknoten analysiert, geprüft, gelöscht oder vollständig zurückgesetzt werden. Die Konfiguration ist dabei in sogenannte Schemas und Knoten unterteilt, die verschiedenen Bereichen wie Accounts, Aktionen oder Systemfunktionen zugeordnet sind. Alle Einstellungen gelten entweder global oder subshopspezifisch und können je nach Schema typabhängig angepasst werden. Die Nutzung der Methoden setzt entsprechende Lese-, Schreib- oder Löschrechte voraus.

GET config/setup

Mit diesem Endpunkt wird die Setup-Konfiguration pro Subshop und Stage (z. B. work, active) abgerufen. Die Rückgabe enthält technische Informationen wie die host-, staticDomain- und contentDomain-Werte, die zur Laufzeitkonfiguration und Auslieferung der Inhalte im jeweiligen Subshop benötigt werden. Dieser Endpunkt dient primär der systeminternen oder administrativen Analyse des aktuellen Shop-Setups.

Beispiel

Antwort

Fehlercodes

GET config/status

Dieser Endpunkt prüft die Konfigurationsdaten auf Unvollständigkeit und Redundanz. Er meldet, ob Pflichtfelder fehlen oder Knoten mit identischen Daten mehrfach vorhanden sind.
Wird kein Problem erkannt, wird "status": "ok" zurückgegeben.
Die Nutzung erfordert Leseberechtigung für Konfigurationen.

Beispiel

Antwort

Antwort bei Fehlern

Wenn Fehler erkannt werden, enthält die Antwort zusätzlich Details zu den gefundenen Problemen:
Die Felder nonUniqueFields und missingRequiredFields erscheinen nur, wenn entsprechende Probleme erkannt werden.

Fehlercodes

GET config/schemas

Dieser Endpunkt liefert eine vollständige Liste aller verfügbaren Konfigurationsschemata im System. Ein Schema beschreibt die Struktur und Eigenschaften eines bestimmten Konfigurationstyps, darunter z. B. Pflichtfelder, Datentypen, Schreibschutz, Überschreibbarkeit pro Subshop oder Singleton-Status. Die Schemata dienen als technische Grundlage für die Validierung und Bearbeitung von Konfigurationsdaten im Admin Interface oder in automatisierten Prozessen. Die Nutzung erfordert Leseberechtigungen für Konfigurationsdaten.

Beispiel

Antwort

Fehlercodes

GET config/schemas/{type}

Mit diesem Endpunkt kann das Schema eines bestimmten Konfigurationstyps abgerufen werden. Das Schema definiert die zulässigen Felder, deren Datentypen, optionale und Pflichtangaben sowie administrative Eigenschaften wie Schreibschutz, Löschbarkeit oder Subshop-Überschreibbarkeit. Die Informationen dienen dem Admin Interface und anderen Tools zur strukturellen Validierung und Darstellung von Konfigurationseinträgen im System. Leserechte für Konfigurationsdaten sind erforderlich.

Beispiel

Antwort

Fehlercodes

GET config/schemas/{type}/defaults

Mit diesem Endpunkt können Standardparameter einer Konfiguration abgerufen werden. Die Antwort enthält eine vollständige Vorlage für den angegebenen Konfigurationstyp. Leserechte für Konfigurationsdaten sind erforderlich.

Beispiel

Antwort

Fehlercodes

GET config/nodeTypes

Dieser Endpunkt liefert eine Übersicht über alle im System vorhandenen Konfigurationsknotentypen, gruppiert nach Schema. Für jeden Typ wird die Anzahl der erfassten Knoten zurückgegeben – also wie viele Konfigurationseinträge zu einem bestimmten Typ aktuell existieren. Die Information eignet sich beispielsweise zur Bestandsaufnahme, zur Validierung der Konfigurationsstruktur oder als Grundlage für die dynamische Darstellung im Admin Interface. Zum Abruf sind Leseberechtigungen für Konfigurationen erforderlich.

Beispiel

Antwort

Fehlercodes

Methoden für die Verwaltung von Knoten im Shop

Über diese Methoden können Konfigurationsknoten im Shop ausgelesen, erstellt, aktualisiert oder gelöscht werden. Dabei handelt es sich um konkrete Instanzen von Einstellungen, die im Admin-Bereich des Shops gepflegt werden – z. B. für das Verhalten beim Account-Login oder für Einwilligungsdienste wie Cookie-Services. Je nach Typ des zugrunde liegenden Schemas kann ein Konfigurationsknoten entweder:
  • als Singleton definiert sein – d. h. es darf nur ein einziger Knoten dieses Typs im Shop existieren (z. B. ein globaler Login-Knoten),
  • oder als Multiknoten – bei dem mehrere Knoten desselben Typs erlaubt sind (z. B. mehrere Cookie-Services unter general.consentCookieService).
Die Gültigkeit der Daten wird beim Anlegen oder Aktualisieren anhand des zugehörigen Schemas geprüft. Die Zugriffe setzen entsprechende Berechtigungen zum Lesen, Schreiben oder Löschen von Konfigurationen voraus.

GET config/nodes/{selector}

Mit dieser Methode wird die Konfiguration eines oder mehrerer Knoten basierend auf dem angegebenen selector geladen. Der selector setzt sich in der Regel aus dem Schema und dem Knotentyp zusammen (z. B. actions.guestRegister oder general.consentCookieService). Abhängig vom Knoten liefert der Endpunkt entweder ein einzelnes Konfigurationselement oder eine Liste von Elementen. Die Antwort enthält jeweils die Konfigurationsdaten sowie Metainformationen wie id, type, label und updatedAt. Die Lese-Berechtigung für Konfigurationsdaten ist erforderlich.

Beispiel 1

Antwort 1

Beispiel 2

Antwort 2

Fehlercodes

PUT config/nodes/{selector}

Diese Methode dient zum Aktualisieren eines Konfigurationsknotens anhand seines Selectors. Der übergebene Dateninhalt wird dabei automatisch gegen das hinterlegte Schema geprüft. Wird das Schema verletzt, erfolgt eine detaillierte Fehlermeldung. Der Selector besteht aus zwei oder drei durch Punkte getrennten Teilen (z. B. actions.guestRegister oder general.consentCookieService.googleAnalytics). Das Format muss korrekt sein, damit die Konfiguration eindeutig zugeordnet werden kann. Wenn die Validierung fehlgeschlagen ist, enthält die Antwort Hinweise in Textform im Feld detail. Zum Beispiel: “The value of the field ‘name’ has the wrong type. Expected: string.”. Fehler sind auch im Feld errorContext aufgelistet. Mögliche Fehlertypen (errorContext.{field}.type): WrongType
WrongEnumValue
KeyNotAllowed
IsReadOnly
NotUnique
InvalidSelfAssociation
ServiceNotFound
AssociationWrongType
ServiceMissing
AssociationNotFound
ServiceWrongType
TextMissing
Schreibberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Request Body

Antwort

Antwort wenn die Validierung Fehlgeschlagen ist

Fehlercodes

POST config/nodes/{selector}

Ein Konfigurationsknoten wird erstellt, dabei wird die Schema-Gültigkeit geprüft. Diese Methode legt einen neuen Konfigurationsknoten innerhalb des angegebenen Schemas an. Dabei wird geprüft, ob der Knoten gemäß Schema erstellt werden darf (z. B. nicht bei Singleton-Schemata) und ob die übergebenen Daten gültig sind. Die Struktur muss dem Schema entsprechen, sonst wird der Vorgang mit einer präzisen Fehlermeldung abgelehnt. Der selector besteht immer aus zwei durch Punkt getrennten Teilen (z. B. general.consentCookieService), die den Schema-Typ beschreiben. Zusätzlich muss im Request-Body ein eindeutiges id-Feld angegeben werden, das an den Selector angehängt wird (z. B. test → ergibt general.consentCookieService.test). Wenn die Validierung fehlgeschlagen ist, enthält die Antwort Hinweise in Textform im Feld detail. Zum Beispiel: “The value of the field ‘name’ has the wrong type. Expected: string.”. Fehler sind auch im Feld errorContext aufgelistet. Mögliche Fehlertypen (errorContext.{field}.type): WrongType
WrongEnumValue
KeyNotAllowed
IsReadOnly
NotUnique
InvalidSelfAssociation
ServiceNotFound
AssociationWrongType
ServiceMissing
AssociationNotFound
ServiceWrongType
TextMissing
Erstellrechte für Konfigurationen sind erforderlich.

Beispiel

Request Body

Antwort

Antwort wenn die Validierung Fehlgeschlagen ist

Fehlercodes

DELETE config/nodes/{selector}

Diese Methode löscht einen bestehenden Konfigurationsknoten. Der angegebene selector muss genau drei durch Punkt getrennte Teile enthalten (z. B. general.consentCookieService.google). Vor dem Löschen wird geprüft, ob das zugehörige Schema dies erlaubt – etwa ob es sich nicht um ein Singleton handelt oder das Löschen explizit untersagt ist. Löschrechte für Konfigurationen sind erforderlich.

Beispiel

Antwort

Fehlercodes

POST config/nodes/{selector}/move

Mit dieser Methode wird ein bestehender Konfigurationsknoten innerhalb seines Typs neu einsortiert. Verschoben wird ausschließlich innerhalb desselben Typs – ein Knoten kann also nur relativ zu anderen Knoten desselben Typs positioniert werden. Die neue Position wird über genau einen der beiden Zielparameter beforeTarget oder afterTarget festgelegt:
  • Mit beforeTarget wird der Knoten direkt vor dem angegebenen Zielknoten platziert.
  • Mit afterTarget wird der Knoten direkt nach dem angegebenen Zielknoten platziert.
Es darf immer nur einer der beiden Parameter gesetzt sein. Werden beide oder keiner angegeben, wird der Vorgang abgelehnt. Schreibberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Request Body

Antwort

Fehlercodes

Methoden für die Verwaltung von Knoten in Subshops

Die hier dokumentierten Endpunkte ermöglichen es, Konfigurationsknoten für einzelne Subshops gezielt zu überschreiben. Damit lassen sich abweichende Einstellungen je Subshop realisieren – etwa verschiedene Datenschutzdienste oder abweichende E-Mail-Konfigurationen. Die Methoden orientieren sich am allgemeinen Schema der Knotenverwaltung, erweitern es jedoch um die zusätzliche Angabe einer subshopId.

GET config/nodes/{selector}/overwrites

Mit dieser Methode wird eine Liste aller Überschreibungen für einen bestimmten Konfigurationsknoten zurückgegeben. Dabei handelt es sich um Konfigurationen, die gezielt für einzelne Subshops angepasst wurden. Ist der Knoten nicht überschreibbar, wird ein leeres JSON-Array ([]) zurückgegeben. Liegen keine Überschreibungen vor, enthält das Ergebnis ein items-Objekt mit leerem Array. Leseberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Antwort

Fehlercodes

GET config/nodes/{selector}/overwrites/{subshopId}

Diese Methode lädt die Subshop-spezifische Überschreibung eines bestimmten Konfigurationsknotens. Existiert keine Überschreibung für den angegebenen Subshop, wird ein entsprechender Fehler zurückgegeben. Ist der Knoten nicht überschreibbar, wird ein Fehler zurückgegeben (inappropriateScheme). Leseberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Antwort

Fehlercodes

PUT config/nodes/{selector}/overwrites/{subshopId}

Mit dieser Methode kann ein Konfigurationsknoten für einen bestimmten Subshop überschrieben werden. Die Daten im Request Body müssen dem Schema des ursprünglichen Knotens entsprechen. Nur Knoten mit entsprechender Eigenschaft können überschrieben werden. Wenn die Validierung fehlgeschlagen ist, enthält die Antwort Hinweise in Textform. Zum Beispiel: “The value of the field ‘name’ has the wrong type. Expected: string.”. Fehler sind auch im Feld errorContext aufgelistet. Mögliche Fehlertypen (errorContext.<field>.type): WrongType
WrongEnumValue
KeyNotAllowed
IsReadOnly
NotUnique
InvalidSelfAssociation
ServiceNotFound
AssociationWrongType
ServiceMissing
AssociationNotFound
ServiceWrongType
TextMissing
Erstellberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Request Body

Antwort

Antwort wenn die Validierung Fehlgeschlagen ist

Fehlercodes

DELETE config/nodes/{selector}/overwrites/{subshopId}

Diese Methode entfernt die vorhandene Überschreibung eines Konfigurationsknotens für einen bestimmten Subshop. Wird keine gültige Überschreibung gefunden oder ist das Löschen nicht erlaubt, erfolgt eine entsprechende Fehlermeldung. Löschberechtigungen für Konfigurationen sind erforderlich.

Beispiel

Antwort

Fehlercodes

Support

Bei technischen Fragen und Hilfestellungen ist unser Support-Team für Sie erreichbar: Zum Kundenportal Bitte senden Sie uns eine möglichst detaillierte Beschreibung sowie Screenshots, Requests/Antworten, damit wir Ihre Anfrage zeitnah und zielführend beantworten können.