customerAccounts/ stellt eine REST-Schnittstelle zur Verfügung, über die Kundendaten im Shop-System verwaltet werden können. Die API ermöglicht das Erstellen, Abrufen, Aktualisieren und Löschen von Kundenkonten, Adressen und Bankverbindungen. Zusätzlich lassen sich Daten exportieren oder Passwortrücksetzungen initiieren. Alle Endpunkte sind so gestaltet, dass sie eine systematische Verwaltung und Pflege von Kundendaten über das Admin-Interface hinaus ermöglichen.
Unterstützte Methoden
Angabe aller unterstützten Methoden.Datenfelder
Datenfelder eines Kundenkontos
Beispiel
Datenfelder einer Adresse
Beispiel
Datenfelder eines Bankkontos
Beispiel
Methoden für Kundendaten
Die hier beschriebenen Methoden ermöglichen das vollständige Verwalten von Kundendaten im System. Dazu zählen das Abrufen, Erstellen, Aktualisieren und Löschen von Kundenkonten sowie das Exportieren von Daten und das Zurücksetzen von Passwörtern. Zusätzlich können Informationen über bereits gelöschte Konten abgerufen werden. Für jede Operation gelten unterschiedliche Berechtigungen, die sicherstellen, dass nur autorisierte Benutzer auf die jeweiligen Funktionen zugreifen können.GET customerAccounts
Mit dieser Methode wird eine paginierte Liste aller Kunden im Shop-System abgerufen. Neben grundlegenden Kundeninformationen wie ID, E-Mail-Adresse und Telefonnummer enthält jede Antwort auch zugehörige Adress- und Bankdaten. Über optionale Filter- und Sortierparameter lassen sich die Ergebnisse gezielt einschränken und sortieren. Die maximale Anzahl an Ergebnissen pro Anfrage beträgt 300. Für den Zugriff auf diese Schnittstelle sind Leseberechtigungen für Kundendaten erforderlich.Beispiel
Antwort
Filterfelder
id, customerNumber, loginBlocked, deleted, createdAt, updatedAt
Sortierfelder
id, customerNumber, loginBlockedAt, deletedAt, createdAt, updatedAt
Fehlercodes
GET customerAccounts/{accountId}
Diese Methode lädt die vollständigen Daten eines Kundenkontos anhand seiner ID. Die Antwort enthält neben den Stammdaten wie E-Mail-Adresse, Telefonnummer und Kundennummer auch Zusatzinformationen wie erlaubte Subshops, Bankdaten, Adressen und Metadaten (z. B. letzter Login oder verwendete Zahlungsart). Zum Zugriff auf diese Methode sind Leseberechtigungen für Kundendaten erforderlich. Wird kein Konto mit der angegebenen ID gefunden, wird ein entsprechender Fehler zurückgegeben.Beispiel
Antwort
Fehlercodes
GET customerDataDeleted
Diese Methode liefert eine Liste von Kundendatensätzen, die als gelöscht markiert wurden. Jeder Eintrag enthält die ID des Kontos, den Zeitpunkt der Löschung (deletedAt) sowie einen Typenwert, der die Art der gelöschten Daten beschreibt.
Filter- und Sortierparameter stehen zur Verfügung, um die Ergebnismenge gezielt einzuschränken. Leseberechtigungen für Kundendaten sind erforderlich.
Beispiel
Antwort
Filterfelder
id, type, deletedAt
Sortierfelder
id, type, deletedAt
Fehlercodes
POST customerAccounts
Diese Methode erstellt ein neues Kundenkonto. Neben Basisdaten wie E-Mail-Adresse, Telefonnummer oder Passwort können auch Einstellungen zur Subshop-Zuweisung und bevorzugten Adressen übergeben werden. Der Request-Body muss mindestens eine gültige E-Mail-Adresse und ein Passwort enthalten. Weitere optionale Felder wiemainAddress oder allowedSubshopIds ermöglichen eine feinere Konfiguration des Kontos.
Optional kann eine accountId (positive Ganzzahl) mitgegeben werden, um das Konto mit einer bestimmten ID anzulegen. Wird keine accountId angegeben, vergibt das System automatisch eine neue ID.
Erstellrechte für Kundendaten sind erforderlich.
Beispiel
Antwort
Fehlercodes
POST customerAccounts/{accountId}/passwordReset
Diese Methode versendet einen Link zum Zurücksetzen des Passworts an die im Kundenkonto hinterlegte E-Mail-Adresse. Das ist hilfreich, wenn ein Benutzer den Zugriff auf sein Konto verloren hat oder das Passwort zurücksetzen möchte. Schreibrechte für Kundendaten sind erforderlich.Beispiel
Antwort
Fehlercodes
PUT customerAccounts/{accountId}
Mit dieser Methode wird ein bestehendes Kundenkonto anhand seiner ID aktualisiert. Es können unter anderem E-Mail-Adresse, Telefonnummer, Adressverweise und die Subshop-Zuordnung geändert werden. Schreibrechte für Kundendaten sind erforderlich.Beispiel
Request Body
Antwort
Fehlercodes
DELETE customerAccounts/{accountId}
Mit dieser Methode wird ein Kundenkonto anhand seiner ID gelöscht. Die Löschung ist dauerhaft und entfernt das Konto einschließlich aller zugehörigen Daten aus dem System. Löschrechte für Kundendaten sind erforderlich.Beispiel
Antwort
Fehlercodes
GET customerAccounts/deleted
Gibt eine paginierte Liste gelöschter Kundenkonten zurück. Diese Methode ergänztGET customerDataDeleted (Abschnitt 3.3), die gelöschte Adress- und Bankdaten liefert. Leserechte für Kundendaten sind erforderlich.
Beispiel
Antwort
Fehlercodes
POST customerAccounts/{accountId}/activate
Aktiviert ein Kundenkonto und versendet eine Einladungs-E-Mail an die hinterlegte E-Mail-Adresse. Das Konto muss eine verifizierte E-Mail-Adresse besitzen (bzw. die E-Mail-Verifizierung muss in der Konfiguration deaktiviert sein). Einladungslinks können maximal einmal pro 24 Stunden versendet werden. Schreibrechte für Kundendaten sind erforderlich.Beispiel
Antwort
Fehlercodes
GET customerAccounts/{accountId}/link
Erzeugt einen temporären Login-Link, über den sich ein Kunde direkt im Shop einloggen kann. Der Link ist 30 Sekunden gültig. Schreib- und Löschrechte für Kundendaten sind erforderlich.Beispiel
Antwort
Fehlercodes
Methoden für Adressen und Bankdaten
In diesem Abschnitt werden die Methoden zur Verwaltung von Adressen und Bankdaten innerhalb eines Kundenkontos beschrieben. Beide Datentypen werden strukturell gleich behandelt: Die Speicherung und das Laden erfolgen auf dieselbe Weise. Der Unterschied liegt ausschließlich im Endpunkt – stattaddresses wird für Bankdaten bankData in der URL verwendet.
GET customerAccounts/{accountId}/addresses
Mit dieser Methode können alle zur Verfügung stehenden Adressen eines bestimmten Kundenkontos abgerufen werden. Die Anfrage liefert eine Liste aller Adressdatensätze, die mit dem angegebenen Konto verknüpft sind. Der hier beschriebene Endpunkt gilt analog auch für Bankdaten – ersetzen Sie dafür im Pfad einfachaddresses durch bankData.
Für den Zugriff ist eine entsprechende Leseberechtigung erforderlich.
Beispiel
Antwort
Fehlercodes
GET customerAccounts/{accountId}/addresses/{id}
Diese Methode liefert die Details einer einzelnen Adresse, die einem bestimmten Kundenkonto zugeordnet ist. Die Adresse wird anhand ihrer ID abgerufen. Der hier beschriebene Endpunkt gilt analog auch für Bankdaten – ersetzen Sie dafür im Pfad einfachaddresses durch bankData.
Der Zugriff erfordert eine gültige Leseberechtigung für Kundendaten.
Beispiel
Antwort
Fehlercodes
POST customerAccounts/{accountId}/addresses
Mit dieser Methode wird eine neue Adresse für ein bestimmtes Kundenkonto angelegt. Die erforderlichen Felder für die Adresse werden im Request Body angegeben. Die Validierung erfolgt serverseitig, und fehlerhafte Felder werden in der Serverantwort konkret benannt. Der hier beschriebene Endpunkt gilt analog auch für Bankdaten – ersetzen Sie dafür im Pfad einfachaddresses durch bankData.
Für die Ausführung sind Schreib- und Erstellrechte für Kundendaten erforderlich.
Beispiel
Request Body
Antwort
Fehlercodes
PUT customerAccounts/{accountId}/addresses/{id}
Mit dieser Methode wird eine vorhandene Adresse eines Kundenkontos aktualisiert. Nur die übergebenen Felder werden geändert, eine vollständige Adressstruktur ist nicht erforderlich. Die Validierung erfolgt serverseitig – fehlerhafte Felder werden in der Antwort ausgewiesen. Der hier beschriebene Endpunkt gilt analog auch für Bankdaten – ersetzen Sie dafür im Pfad einfachaddresses durch bankData.
Für die Ausführung ist die Berechtigung zum Schreiben von Kundendaten erforderlich.
Beispiel
Request Body
Antwort
Fehlercodes
DELETE customerAccounts/{accountId}/addresses/{id}
Mit dieser Methode wird eine Adresse aus einem Kundenkonto gelöscht. Dabei wird überprüft, ob die Adresse tatsächlich zum angegebenen Konto gehört. Der hier beschriebene Endpunkt gilt analog auch für Bankdaten – ersetzen Sie dafür im Pfad einfachaddresses durch bankData.
Für die Ausführung sind Schreib- und Löschrechte für Kundendaten erforderlich.
Beispiel
Antwort
Fehlercodes
Bulk-Methoden
In diesem Abschnitt werden die Bulk-Endpunkte beschrieben, mit denen mehrere Datensätze in einem einzigen Request abgefragt oder verarbeitet werden können.GET bulk/lastOrderTimestamp
Gibt den Zeitstempel der letzten Bestellung für mehrere Kundenkonten zurück. Ungültige Account-IDs und Konten ohne Bestellungen werden übersprungen. Leserechte für Kundendaten sind erforderlich. Der PflichtparameteraccountId (Integer) gibt die Kundenkonto-ID an und kann mehrfach angegeben werden, um mehrere Konten abzufragen.
