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.
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 Feldidenthalten 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}undGET /api/config/nodes/{selector}als Top-Level-{selector}
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: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).
GET config/nodes/{selector}
Mit dieser Methode wird die Konfiguration eines oder mehrerer Knoten basierend auf dem angegebenenselector 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):
WrongTypeWrongEnumValueKeyNotAllowedIsReadOnlyNotUniqueInvalidSelfAssociationServiceNotFoundAssociationWrongTypeServiceMissingAssociationNotFoundServiceWrongTypeTextMissing
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. Derselector 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):
WrongTypeWrongEnumValueKeyNotAllowedIsReadOnlyNotUniqueInvalidSelfAssociationServiceNotFoundAssociationWrongTypeServiceMissingAssociationNotFoundServiceWrongTypeTextMissing
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 angegebeneselector 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 ZielparameterbeforeTarget oder afterTarget festgelegt:
- Mit
beforeTargetwird der Knoten direkt vor dem angegebenen Zielknoten platziert. - Mit
afterTargetwird der Knoten direkt nach dem angegebenen Zielknoten platziert.
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 einersubshopId.
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 FelderrorContext aufgelistet.
Mögliche Fehlertypen (errorContext.<field>.type):
WrongTypeWrongEnumValueKeyNotAllowedIsReadOnlyNotUniqueInvalidSelfAssociationServiceNotFoundAssociationWrongTypeServiceMissingAssociationNotFoundServiceWrongTypeTextMissing
Erstellberechtigungen für Konfigurationen sind erforderlich.
