Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Die Kundenkonto API stellt die Funktionen für den Bereich „Mein Konto“ bereit. Dazu gehören die Verwaltung persönlicher Daten, Zugangsdaten und Adressen (Adressbuch anlegen/ändern/löschen) sowie typische Account-Prozesse wie E-Mail-Änderung (inklusive Double-Opt-In), Passwort ändern/zurücksetzen („Passwort vergessen“) und das Löschen des Kontos. Zusätzlich können kundenbezogene Informationen wie Bestellhistorie (Online-Bestellungen) bereitgestellt werden. Weitere typische Funktionen sind das Anlegen und Verwalten von Verfügbarkeitsalarmen, eine Übersicht eigener Bewertungen sowie Login, Registrierung und – sofern vorgesehen – persistente Sitzungen („eingeloggt bleiben“). Sämtliche Aufrufe erfordern eine aktive Session per x-session. Mehr dazu

Unterstützte Methoden

Angabe aller unterstützten Methoden.
BefehlEndpunkteGETPUTPOSTDELETE
Kundenkonto einloggenaccount/login
Angemeldet bleiben aktivierenaccount/autologin
Kundenkonto anlegenaccount/register
Kontodaten abfragenaccount/get
Kundenkonto ausloggenaccount/logout
Kundenkonto löschenaccount/delete
Kundenkonto löschen mit Opt-In-Codeaccount/deleteConfirm
Neue Adresse zum Kundenkonto hinzufügenaccount/address/create
Eine bestehende Adresse bearbeitenaccount/address/update
Adresse als Hauptadresse setzenaccount/address/setMain
Adresse des Kundenkontos auflistenaccount/address/list
Eine bestimmte Adresse abrufenaccount/address/get
Eine Adresse löschenaccount/address/delete
Benachrichtigung, für “Produkt wieder vorrätig” aktivierenaccount/backInStock/notify
Alle “Produkt wieder verfügbar” Benachrichtigungen auflistenaccount/backInStock/list
Anzeigenamen bei Produktbewertungen ändernaccount/displayName/update
E-Mail-Adresse des Kundenkontos ändernaccount/email/update
E-Mail-Adresse des Kundenkontos verifizierenaccount/email/verify
Alle Bestellungen des Kundenkontos auflistenaccount/order/list
Eine bestimmte Bestellung abrufenaccount/order/get
Das Passwort des Kundenkontos ändernaccount/password/change
Passwort-Zurücksetzung startenaccount/password/forgotten
Passwort zurücksetzenaccount/password/reset

Methoden für das Kundenkonto

Mithilfe dieser Methoden wird das Kundenkonto im Shop verwaltet. Sie lesen die Daten des aktuell eingeloggten Benutzers (Stammdaten, Adresse, Kundendatenfelder, Login-Status) aus und melden ein Konto mit E-Mail-Adresse/Passwort an. Optional kann die Funktion „Angemeldet bleiben” per Autologin-Token aktiviert werden. Darüber hinaus können neue Konten registriert und direkt eingeloggt werden. Bestehende Sessions lassen sich sauber abmelden. Zudem können Kundenkonten gelöscht werden.

GET account/get

Mit diesem Aufruf werden die Daten des aktuell eingeloggten Kundenkontos der übergebenen Session ausgeliefert. Typische Einsatzzwecke sind die Anzeige des Kontobereichs (Name, E-Mail-Adresse, Anzeigename) oder eine einfache „Angemeldet/Abgemeldet“-Prüfung im Frontend. Beispiel Aufruf, um Daten des aktuell eingeloggten Kundenkontos zu erhalten:
GET https://<ihr-shop>.de/api/v1/account/get

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Beispiel-Response

{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "85",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße 2",
         "streetNumber" : "",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ],
   "autoLogInRestriction" : "restricted",
   "backInStockList" : [],
   "customerData" : {
      "groupedFields" : [
         {
            "fields" : [
               {
                  "association" : "hybrid",
                  "label" : "Ausgangsspannung",
                  "name" : "outputVoltage",
                  "type" : "text",
                  "value" : "230 V"
               }
            ],
            "label" : "Geräteinformationen",
            "name" : "applianceInformation"
         }
      ],
      "ungroupedFields" : [
         {
            "association" : "shopAccount",
            "label" : "Kundengruppe",
            "name" : "customerGroup",
            "options" : [
               {
                  "label" : "Hundehalter",
                  "value" : "dog"
               },
               {
                  "label" : "Katzenhalter",
                  "value" : "cat"
               }
            ],
            "type" : "select",
            "value" : ""
         }
      ]
   },
   "displayName" : "",
   "email" : "kundenkonto@example.com",
   "id" : 51,
   "isAccountVerified" : false,
   "isAutoLogInRestricted" : true,
   "isAutoLoggedIn" : false,
   "isLoggedIn" : true,
   "isPasswordResetRequired" : false,
   "lastLogin" : "2025-11-04T08:42:20.996Z",
   "mainAddress" : {
      "additionalInfo" : "",
      "addressType" : "1",
      "businessFax" : "",
      "businessPhone" : "",
      "city" : "Nürnberg",
      "company" : "",
      "country" : "DE",
      "custom" : {},
      "dateOfBirth" : "",
      "department" : "",
      "fax" : "",
      "firstName" : "Maria",
      "id" : "85",
      "lastName" : "Musterfrau",
      "mobilePhone" : "",
      "phone" : "",
      "salutationCode" : "2",
      "state" : "",
      "street" : "Gutenstetterstraße 2",
      "streetNumber" : "",
      "taxId" : "",
      "titleCode" : "",
      "zip" : "90449"
   },
   "pseudoCreditCards" : []
}

POST account/login

Mit diesem Aufruf wird ein Kundenkonto angemeldet. Sind die übergebenen Zugangsdaten korrekt, wird die aktive Sitzung in den Account eingeloggt. Wenn Autologin aktiviert ist, enthält die Antwort einen Autologin-Token. Beispiel-Aufruf, der das Kundenkonto mit der ID kundenkonto@example.coman der Session anmeldet
POST https://<ihr-shop>.de/api/v1/account/login

Beispiel-Request

{
  "id": "kundenkonto@example.com",
  "password": "password123",
  "autologin": "off"
}

Beispiel-Response

{}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
idstringPflichtfeld
E-Mail-Adresse des Benutzerkontos.
passwordstringPflichtfeld
Passwort des Benutzerkontos.
autologinenumSteuert den Auto-Login.
- all = Der Benutzer kann sich auf diesem Gerät erneut, ohne erneute Passworteingabe, anmelden
- restriced = Autologin ist aktiv, aber mit zusätzlichen Regeln (z.B. kürzere Gültigkeit der Session)
- off (Default) = Jede Sitzung verlangt eine reguläre Anmeldung

Beispiel-Response

{
  "account": {
    "id": 51,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true,
    "lastLogin": "2025-10-30T08:50:13.396Z"
  },
  "autologinToken": null
}

Fehlercodes

CodeBeschreibung
emailCheckFailedDie übergebene id ist keine gültige E-Mail-Adresse.
loginBlockedDas Konto ist vorübergehend gesperrt (z.B. wegen zu vieler Anmeldeversuche).
invalidCredentialsE-Mail oder Passwort ungültig.
ipAddressBlockedIP aufgrund zu vieler Fehlerversuche temporär gesperrt.

POST account/autologin

Durch diesen Aufruf wird für die aktuelle Sitzung die Funktion „Angemeldet bleiben“ aktiviert. Dadurch kann sich der Nutzer auf diesem Gerät künftig ohne erneute Passworteingabe wieder anmelden. Beispiel-Aufruf, der Autologin für das Kundenkonto mit der ID 51 aktiviert
POST https://<ihr-shop>.de/api/v1/account/autologin

Beispiel-Response

{
  "account": {
    "id": 51,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true,
    "lastLogin": "2025-10-30T08:50:13.396Z"
  }
}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
tokenstringPflichtfeld
Autologin-Token aus POST /api/v1/account/login
(bei autologin = all/restricted).

Fehlercodes

CodeBeschreibung
invalidTokenDas Autologin-Token ist ungültig oder abgelaufen.

POST account/register

Mit diesem Aufruf wird ein neues Kundenkonto erstellt und die aktuelle Sitzung direkt mit diesem Konto angemeldet. Somit kann der Nutzer nach der Registrierung sofort weitermachen. Beispiel-Aufruf um ein neues Kundenkonto mit der E-Mail-Adresse kundenkonto@example.com und dem Passwort password123 zu erstellen
POST https://<ihr-shop>.de/api/v1/account/register

Beispiel-Request

{
  "email": "kundenkonto@example.com",
  "password": "password123"
}

Beispiel-Response

{}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
emailstringPflichtfeld
E-Mail-Adresse für das neue Benutzerkonto.
passwordstringPflichtfeld
Passwort für das neue Benutzerkonto.

Beispiel-Response

{
  "account": {
    "id": 124,
    "email": "kundenkonto@example.com",
    "displayName": "",
    "isLoggedIn": true
  }
}

Fehlercodes

CodeBeschreibung
emailCheckFailedDie angegebene E-Mail-Adresse ist syntaktisch ungültig.
loginBlockedDas Konto / die Anfrage ist aktuell gesperrt.
passwordCheckFailedDas Passwort erfüllt die Sicherheitsrichtlinien nicht (zu schwach).
accountAlreadyExistsEs existiert bereits ein Konto mit dieser E-Mail-Adresse.

POST account/logout

Mit diesem Aufruf wird der aktuell angemeldete Benutzer ausgeloggt
POST https://<ihr-shop>.de/api/v1/account/logout

Beispiel-Response

{}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Fehlercodes

CodeBeschreibung
Für diesen Request existieren keine Fehlercodes, die Aktion ist immer erfolgreich.

DELETE account/delete

Mit diesem Aufruf wird das aktuell eingeloggte Kundenkonto gelöscht. Nach erfolgreicher Ausführung wird die Sitzung beendet und der Zugang zum Konto entfernt. Achtung: Die Löschung kann nicht rückgängig gemacht werden! Beispiel-Aufruf um das aktuell eingeloggte Benutzerkonto dauerhaft zu löschen
DELETE https://<ihr-shop>.de/api/v1/account/delete
Hinweis: Je nach Shop-Konfiguration kann eine E-Mail-Bestätigung (Double-Opt-In) erforderlich sein! Siehe hier (Einstellung doubleOptInEmail.enabled). Beispiel-Response
{}
Parameterübersicht Header-Parameter
ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics
Fehlercodes
CodeBeschreibung
notLoggedInEs ist kein Benutzer eingeloggt.
actionNotAllowedDer übergebene Opt-In-Token ist für diese Aktion nicht erlaubt, z.B. weil er für eine andere Aktion angefordert wurde oder ungültig ist.

DELETE account/deleteConfirm

Mit diesem Aufruf bestätigt man die Kontolöschung per Opt-In-Token und löschen das aktuell eingeloggte Kundenkonto endgültig. Er wird nur verwendet, wenn in Ihrem Shop die Kontolöschung per Double-Opt-In aktiviert ist. Ohne Double-Opt-In genügt der Aufruf von account/delete. Beispiel-Aufruf, der die Löschung des aktuell eingeloggten Benutzerkonto per Opt-In-Token bestätigt
 DELETE https://<ihr-shop>.de/api/v1/account/deleteConfirm

Beispiel-Request

{
    "otok": AZ3XHlWGe4E98D4fsJrPhWclSgBBQwAAAAA.ZKgwbjF-IDLuaakADfazRmAWTmjdH-A9W92JtZnPVPQ"
}

Beispiel-Response

{}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
otokstringPflichtfeld
Opt-In Token aus der Bestätigungsmail.

Fehlercodes

CodeBeschreibung
notLoggedInEs ist kein Benutzer eingeloggt.
actionNotAllowedDer übergebene Opt-In-Token ist für diese Aktion nicht erlaubt, z.B. weil er für eine andere Aktion angefordert wurde oder ungültig ist.

Methoden für die Adressverwaltung

Mithilfe dieser Methoden können die Adressen im Kundenkonto verwaltet werden. Sie listen alle verfügbaren Adressfelder auf und geben die zum eingeloggten Konto gehörenden Adressen zurück oder holen eine einzelne Adresse per ID ab. Neue Adressen können mit allen relevanten Feldern angelegt, bestehende Adressen gezielt aktualisiert oder als Hauptadresse markiert werden. Bei Bedarf können sie wieder gelöscht werden.

GET account/address/fields

Mit diesem Aufruf werden alle verfügbaren Adressfelder geliefert. Mithilfe dieser Informationen können Adressformulare im Frontend erstellt werden. Beispiel-Aufruf, der alle verfügbaren Adressfelder zurückgibt
GET https://<ihr-shop>.de/api/v1/account/address/fields

Parameterübersicht

ParameterTypBeschreibung
Keine zusätzlichen Parameter.

Beispiel-Response

{
   "items" : [
      {
         "dataId" : "addressType",
         "label" : "Address-Typ",
         "name" : "addressType"
      },
      {
         "dataId" : "firstName",
         "label" : "",
         "name" : "firstName"
      },
      {
         "dataId" : "additionalInfo",
         "label" : "",
         "name" : "additionalInfo"
      },
      {
         "dataId" : "businessFax",
         "label" : "",
         "name" : "businessFax"
      },
      {
         "dataId" : "businessPhone",
         "label" : "",
         "name" : "businessPhone"
      },
      {
         "dataId" : "city",
         "label" : "",
         "name" : "city"
      },
      {
         "dataId" : "company",
         "label" : "",
         "name" : "company"
      },
      {
         "dataId" : "country",
         "label" : "",
         "name" : "country"
      },
      {
         "dataId" : "dateOfBirth",
         "label" : "",
         "name" : "dateOfBirth"
      },
      {
         "dataId" : "department",
         "label" : "",
         "name" : "department"
      },
      {
         "dataId" : "fax",
         "label" : "",
         "name" : "fax"
      },
      {
         "dataId" : "lastName",
         "label" : "",
         "name" : "lastName"
      },
      {
         "dataId" : "mobilePhone",
         "label" : "",
         "name" : "mobilePhone"
      },
      {
         "dataId" : "phone",
         "label" : "",
         "name" : "phone"
      },
      {
         "dataId" : "salutationCode",
         "label" : "",
         "name" : "salutationCode"
      },
      {
         "dataId" : "state",
         "label" : "",
         "name" : "state"
      },
      {
         "dataId" : "street",
         "label" : "",
         "name" : "street"
      },
      {
         "dataId" : "streetNumber",
         "label" : "",
         "name" : "streetNumber"
      },
      {
         "dataId" : "taxId",
         "label" : "",
         "name" : "taxId"
      },
      {
         "dataId" : "titleCode",
         "label" : "",
         "name" : "titleCode"
      },
      {
         "dataId" : "zip",
         "label" : "",
         "name" : "zip"
      }
   ]
}

GET account/address/list

Mit diesem Aufruf werden alle gespeicherten Adressen des aktuell angemeldeten Kundenkontos inklusive der Feldwerte Name, Straße, PLZ/Ort und Ländercode zurückgeliefert. Die Daten können genutzt werden, um Adressübersichten im Kundenkonto anzuzeigen. Beispiel-Aufruf, der alle gespeicherten Adressen des aktuellen eingeloggten Benutzerkontos zurückgibt
GET https://<ihr-shop>.de/api/v1/account/address/list

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Beispiel-Response

{
   "items" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Max",
         "id" : "97",
         "lastName" : "Mustermann",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}

GET account/address/get

Mit folgendem Aufruf wird die konkrete Adresse des aktuell angemeldeten Kundenkontos anhand seiner Adress-ID zurückgeliefert. Diese kann beispielsweise zur Anzeige oder Vorbelegung der Adresse im Checkout verwendet werden. Beispiel-Aufruf, der die Adresse mit der ID 97 des angemeldeten Benutzerkontos zurückgibt:
GET /api/v1/account/address/get?addressId=97

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
addressIdstringID der Adresse, die abgerufen werden soll.

Beispiel-Response

{
   "additionalInfo" : "",
   "addressType" : "1",
   "businessFax" : "",
   "businessPhone" : "",
   "city" : "Nürnberg",
   "company" : "",
   "country" : "DE",
   "custom" : {}  
   "dateOfBirth" : "",
   "department" : "",
   "fax" : "",
   "firstName" : "Max",
   "id" : "97",
   "lastName" : "Mustermann",
   "mobilePhone" : "",
   "phone" : "",
   "salutationCode" : "2",
   "state" : "",
   "street" : "Gutenstetterstraße",
   "streetNumber" : "2",
   "taxId" : "",
   "titleCode" : "",
   "zip" : "90449"
}

POST account/address/create

Mit diesem Aufruf wird eine neue Adresse für das aktuell angemeldete Kundenkonto angelegt. Diese kann beispielsweise als Rechnungs- oder Lieferadresse im Checkout verwendet werden. Beispiel-Aufruf, der für das aktuell eingeloggte Benutzerkonto eine neue Adresse erstellt
POST https://<ihr-shop>.de/api/v1/account/address/create

Beispiel-Request

{
  "address": {
    "firstName": "Maria",
    "lastName": "Musterfrau",
    "street": "Gutenstetterstraße",
    "streetNumber": "2",
    "zip": "90449",
    "city": "Nürnberg"
  }
}
Hinweis: Wird nur address ohne angegebene Parameter übergeben, so werden für alle Felder die Standardwerte übernommen.

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
addressobjectPflichtfeld
Fasst die Adressdatenfelder zusammen.
additionalInfostringZusatzinfos zur Adresse (z.B. Etage).
businessFaxstringFax geschäftlich.
businessPhonestringTelefon geschäftlich.
citystringWohnort
companystringFirma / Unternehmen
countrystringLändercode (z.B. DE )
customobjectFreie Zusatzfelder (konfigurierbar mit accounts.customAddressField)
dateOfBirthstringGeburtsdatum
departmentstringAbteilung (Geschäftlich)
faxstringFax privat
firstNamestringVorname
lastNamestringNachname
mobilePhonestringHandynummer
phonestringFestnetznummer
statestringBundesland / Region
streetstringStraße
streetNumberstringHausnummer
taxIdstringSteuer-/USt-ID
zipstringPostleitzahl

Beispiel-Response

{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "97",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist in kein Konto eingeloggt (evtl. fehlende ungültige x-session)
emptyAddressDas Feld addressfehlt oder ist leer.
unknownFieldEs existiert kein Adressfeld mit dem angegebenen Namen.
invalidFieldTypeEin Adressfeld hat einen ungültigen Datentyp (z.B. Zahl statt Zeichenkette)

POST account/address/setMain

Mit dieser Anfrage kann eine bestehende Adresse des aktuell eingeloggten Kundenkontos als Hauptadresse festgelegt werden (z. B. als Standard für Versand/Rechnung). Sie kann verwendet werden, um eine Adresse als Standard für Rechnung oder Versand zu kennzeichnen. Beispiel-Aufruf, der die Adresse mit der ID 97 für das aktuell eingeloggte Kundenkonto als Hauptadresse setzt
POST https://<ihr-shop>.de/api/v1/account/address/setMain

Beispiel-Request

{"addressId": "97"}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
addressIdstringID der Adresse, die als Hauptadresse gesetzt werden soll.

Beispiel-Response

{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Maria",
         "id" : "97",
         "lastName" : "Musterfrau",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ],
   "mainAddress" : {
      "additionalInfo" : "",
      "addressType" : "1",
      "businessFax" : "",
      "businessPhone" : "",
      "city" : "Nürnberg",
      "company" : "",
      "country" : "DE",
      "custom" : {},
      "dateOfBirth" : "",
      "department" : "",
      "fax" : "",
      "firstName" : "Maria",
      "id" : "97",
      "lastName" : "Musterfrau",
      "mobilePhone" : "",
      "phone" : "",
      "salutationCode" : "2",
      "state" : "",
      "street" : "Gutenstetterstraße",
      "streetNumber" : "2",
      "taxId" : "",
      "titleCode" : "",
      "zip" : "90449"
   }
}

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist in kein Konto eingeloggt. (fehlende / ungültige x-session)
invalidAddressIdDie angegebene Adress-ID ist ungültig.

PUT account/address/update

Mit diesem Aufruf kann eine bestehende Adresse des aktuell eingeloggten Kundenkontos aktualisiert werden. Es müssen nicht alle Felder ausgefüllt werden, nicht ausgefüllte Felder bleiben unverändert. Er kann beispielsweise verwendet werden, um eine Adresse für den Versand oder die Rechnung zu korrigieren. Beispiel-Aufruf, der für das aktuell eingeloggte Kundenkonto bei der Adresse mit der ID 97 den Vor- und Nachnamen ändert
PUT https://<ihr-shop>.de/api/v1/account/address/update

Beispiel-Request

{
  "addressId": "97",
  "address": {
    "firstName": "Max",
    "lastName": "Mustermann"
  }
}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
addressobjectPflichtfeld Fasst die Adressdatenfelder zusammen.
additionalInfostringZusatzinfos zur Adresse (z.B. Etage).
businessFaxstringFax geschäftlich.
businessPhonestringTelefon geschäftlich.
citystringWohnort
companystringFirma / Unternehmen
countrystringLändercode (z.B. DE )
customobjectFreie Zusatzfelder (konfigurierbar mit accounts.customAddressField)
dateOfBirthstringGeburtsdatum
departmentstringAbteilung (Geschäftlich)
faxstringFax privat
firstNamestringVorname
lastNamestringNachname
mobilePhonestringHandynummer
phonestringFestnetznummer
statestringBundesland / Region
streetstringStraße
streetNumberstringHausnummer
taxIdstringSteuer-/USt-ID
zipstringPostleitzahl

Beispiel-Response

{
   "addresses" : [
      {
         "additionalInfo" : "",
         "addressType" : "1",
         "businessFax" : "",
         "businessPhone" : "",
         "city" : "Nürnberg",
         "company" : "",
         "country" : "DE",
         "custom" : {},
         "dateOfBirth" : "",
         "department" : "",
         "fax" : "",
         "firstName" : "Max",
         "id" : "97",
         "lastName" : "Mustermann",
         "mobilePhone" : "",
         "phone" : "",
         "salutationCode" : "2",
         "state" : "",
         "street" : "Gutenstetterstraße",
         "streetNumber" : "2",
         "taxId" : "",
         "titleCode" : "",
         "zip" : "90449"
      }
   ]
}

Fehlercodes

CodeBeschreibung
invalidAddressIdDie angegebene Adress-ID ist ungültig.
emptyAddressDas Feld addressfehlt oder ist leer.
unknownFieldEs existiert kein Adressfeld mit dem angegebenen Namen.
invalidFieldTypeEin Adressfeld hat einen ungültigen Datentyp (z.B. Zahl statt Zeichenkette)

DELETE account/address/delete

Mit diesem Aufruf wird eine bestehende Adresse des aktuell eingeloggten Kundenkontos gelöscht. Beispiel-Aufruf, der die Adresse mit der ID 97 für das aktuell angemeldete Kundenkonto löscht
DELETE https://<ihr-shop>.de/api/v1/account/address/delete

Beispiel-Request

{"addressId": "97"}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
addressIdstringID der Adresse, die gelöscht werden soll.

Beispiel-Response

{ "addresses": [] }

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist in kein Konto eingeloggt. (fehlende / ungültige x-session)
invalidAddressIdDie angegebene Adress-ID ist ungültig.

Methoden für Benachrichtigungen

Mithilfe dieser Methoden können „Produkt wieder verfügbar“-Benachrichtigungen im Kundenkonto verwaltet werden. Sie lesen alle für das eingeloggte Kundenkonto hinterlegten Benachrichtigungen aus, legen neue Benachrichtigungen für eine Kombination aus E-Mail-Adresse und Produkt an und löschen bestehende Benachrichtigungen wieder.

GET account/backInStock/list

Mit folgendem Aufruf werden alle „Produkt wieder verfügbar“-Benachrichtigungen aufgelistet, die für das Konto aktiviert sind. Er kann verwendet werden, um sie dem Kunden im Kundenkonto zur Ansicht zur Verfügung zu stellen. Beispiel-Aufruf, der alle “Produkt wieder verfügbar”-Benachrichtigungen des aktuell eingeloggten Kundenkontos auflistet
GET https://<ihr-shop>.de/api/v1/account/backInStock/list

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Beispiel-Response

{
  "items": [
    {
      "email": "<email>",
      "productId": "12345"
    }
  ]
}

POST account/backInStock/notify

Mit diesem Aufruf wird für das eingeloggte Konto eine „Produkt wieder verfügbar“-Benachrichtigung eingerichtet. Sobald der Artikel wieder auf Lager ist, wird eine E-Mail an die angegebene Adresse verschickt. Beispiel-Aufruf, der eine “Produkt wieder verfügbar”-Benachrichtigung für das Produkt mit der ID 12345 anlegt. Die Benachrichtigung wird an die E-Mail-Adresse <EMAIL> versendet
POST https://<ihr-shop>.de/api/v1/account/backInStock/notify

Beispiel-Request

{
  "email": "<EMAIL>",
  "productId": "12345"
}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
emailstringPflichtfeld
E-Mail-Adresse, an die die Benachrichtigung geschickt werden soll.
productIdstringPflichtfeld
ID des Produkts, zu dem benachrichtigt werden soll.

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist in kein Konto eingeloggt. (fehlende / ungültige x-session)
notAllowedDas Feature ist in der Konfiguration deaktiviert. (Konfiguration des Feldes content.inventory unter backInStock.allow)
missingInventoryStateDas Produkt hat keinen Lagerbestand.
entryExistsFür dieselbe Kombination aus productIdund email existiert bereits eine Benachrichtigung.

DELETE account/backInStock/notify

Durch diesen Aufruf wird die für das eingeloggte Konto erstellte „Produkt wieder verfügbar“-Benachrichtigung gelöscht. Beispiel-Aufruf, der eine “Produkt wieder verfügbar”-Benachrichtigung für das Produkt mit der ID 12345 und der E-Mail-Adresse <EMAIL> wieder löscht
DELETE https://<ihr-shop>.de/api/v1/account/backInStock/notify

Beispiel-Request

{
  "email": "<EMAIL>",
  "productId": "12345"
}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
emailstringPflichtfeld
E-Mail-Adresse, für die die Benachrichtigung eingerichtet ist.
productIdstringPflichtfeld
ID des Produkts, für das die Benachrichtigung gelöscht werden soll.

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist in kein Konto eingeloggt. (fehlende / ungültige x-session)
notAllowedDas Feature ist in der Konfiguration deaktiviert.
missingInventoryStateDas Produkt hat keinen Lagerbestand.

Weitere Methoden für Kundendaten

Mithilfe dieser Methoden wird das Kundenkonto um zentrale Self-Service-Funktionen ergänzt. Benutzer können ihre Bestellhistorie paginiert einsehen oder einzelne Bestellungen mitsamt Positionen, Adressen sowie Zahlungs- und Versanddetails gezielt abrufen. Zusätzlich kann man den öffentlichen Anzeigenamen für Produktbewertungen und die E-Mail-Adresse des Kontos ändern. Bei Bedarf ist eine nachgelagerte Bestätigung per Opt-in-Token erforderlich. Der komplette Lebenszyklus von Passwörtern wird abgedeckt: vom Ändern des Passworts im eingeloggten Zustand (inklusive optionaler Prüfung der aktuellen E-Mail-Adresse und/oder des bisherigen Passworts) bis hin zum Prozess „Passwort vergessen“ mit Wiederherstellungs-E-Mail und anschließendem Zurücksetzen über einen Opt-in-Token.

GET account/order/list

Mit diesem Aufruf wird die Bestellhistorie des aktuell eingeloggten Kundenkontos angezeigt. Er kann für die „Meine Bestellungen“-Seite im Kundenkonto genutzt werden. Über die Query-Parameter page und size lässt sich die Paginierung steuern (z. B. Seite 1 mit zehn Einträgen). So können Bestellungen seitenweise geladen und komfortabel angezeigt werden. Beispiel-Aufruf, der die Bestellhistorie der Seite 1 mit 10 Einträgen des aktuell eingeloggten Kundenkontos anzeigt
GET https://<ihr-shop>.de/api/v1/account/order/list?page=1&size=10

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
pageintPflichtfeld
Gibt an, welche Seite der Bestellauflistung ausgegeben werden soll. Der Parameter muss größer oder gleich 1 sein.
sizeintPflichtfeld
Gibt an, wie viele Bestellungen pro Seite angezeigt werden sollen. Erlaubt ist eine Anzahl zwischen 1 und 100.
orderstringSortierung (ID aus general.order), leer lassen für Standardsortierung.

Beispiel-Response

{
   "items" : [
      {
         "billAddress" : {
            "additionalInfo" : "",
            "addressType" : "",
            "businessFax" : "",
            "businessPhone" : "",
            "city" : "Nürnberg",
            "company" : "",
            "country" : "DE",
            "countryName" : "Deutschland",
            "custom" : null,
            "dateOfBirth" : "",
            "department" : "",
            "fax" : "",
            "firstName" : "Yvonne",
            "lastName" : "Kothmeier",
            "mobilePhone" : "",
            "phone" : "",
            "salutationCode" : "2",
            "salutationText" : "Frau",
            "state" : "",
            "street" : "Gutenstetterstraße 2",
            "streetNumber" : "",
            "taxId" : "",
            "titleCode" : "",
            "zip" : "90449"
         },
         "customer" : {
            "accountId" : 88
         },
         "customerData" : {},
         "freeFields" : {
            "agb.checked" : "true",
            "agb.merchantText" : "agb text here",
            "comment.text" : ""
         },
         "general" : {
            "dateTime" : "2025-10-27T16:09:29Z",
            "orderId" : "4438",
            "sessionId" : "67f62f53c064541e51a51a086c9cc9e1a95cb49ff59eb719b11ac2e76742bc90",
            "shopId" : "demo",
            "shopLanguage" : "Deutsch",
            "subshopId" : "deutsch",
            "testMode" : false
         },
         "order" : {
            "currencyIso" : "EUR",
            "currencySymbol" : "€",
            "defaultTaxRate" : "0.1900000",
            "delivererId" : "dhl",
            "delivererOrderText" : "DHL",
            "deliveryCost" : "0.00",
            "deliveryTaxRate" : "0.1900000",
            "fees" : {
               "currencyConversionRate" : 0,
               "feeOrgTotalOrder" : "59.99",
               "feeTotalOrder" : "59.99"
            },
            "paymentId" : "bill",
            "paymentOrderText" : "Rechnung (offline)",
            "priceType" : "gross",
            "referer" : "",
            "subreferer" : "",
            "subtotal" : "59.99",
            "tax" : "9.58",
            "total" : "59.99",
            "totalCommission" : "0.00",
            "totalDiscount" : "0.00",
            "totalVoucher" : "0.00",
            "totalWeight" : 0
         },
         "orderList" : {
            "item" : [
               {
                  "basketId" : "342ac4f0c9c59e399c65",
                  "discount" : "0.00",
                  "extraFields" : {},
                  "freeFields" : {
                     "categoryPath" : "Bekleidung"
                  },
                  "isAutoBasket" : false,
                  "isChangeable" : true,
                  "isRemovable" : true,
                  "isVisible" : true,
                  "itemNumber" : "test",
                  "name" : "Wollmantel mit Bindegürtel",
                  "orgPrice" : "0.00",
                  "price" : "59.99",
                  "productId" : "155-03082",
                  "quantity" : "1.00",
                  "singleTotal" : "59.99",
                  "taxId" : "19",
                  "taxRate" : "0.1900000",
                  "total" : "59.99",
                  "variantId" : "",
                  "variantSelection" : null,
                  "weight" : 0
               }
            ]
         },
         "shippingAddress" : null,
         "store" : null
      }
   ]
}

GET account/order/get

Mit diesem Aufruf werden die Details einer konkreten Bestellung des aktuell eingeloggten Kundenkontos abgerufen, beispielsweise für die Detailseite der Bestellung. Beispiel-Aufruf, der für das aktuell eingeloggte Kundenkonto die Details zur Bestellung mit der ID 4869 abruft
GET https://<ihr-shop>.de/api/v1/account/order/get?orderId=4869

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
orderIdstringID der Bestellung, die abgerufen werden soll.

Beispiel-Response

{
  "billAddress": null,
  "customer": {
    "accountId": 126
  },
  "customerData": {},
  "freeFields": {
    "agb.checked": "true",
    "agb.merchantText": "agb text here",
    "comment.text": ""
  },
  "general": {
    "dateTime": "2025-11-06T08:11:18Z",
    "orderId": "4869",
    "sessionId": "68343c298c1e6cd301d18d381a5ad70d73a872fbebfc2d0c4e4a7143214a8333",
    "shopId": "myshop",
    "shopLanguage": "Deutsch",
    "subshopId": "deutsch",
    "testMode": false
  },
  "order": {
    "currencyIso": "EUR",
    "currencySymbol": "€",
    "defaultTaxRate": "0.1900000",
    "delivererId": "hermes",
    "delivererOrderText": "Hermes",
    "delivererType": "standard",
    "deliveryCost": "0.00",
    "deliveryTaxRate": "0.1900000",
    "fees": {
      "currencyConversionRate": 0,
      "feeOrgTotalOrder": "199.00",
      "feeTotalOrder": "199.00"
    },
    "paymentId": "bill",
    "paymentOrderText": "Rechnung",
    "priceType": "gross",
    "referer": "",
    "subreferer": "",
    "subtotal": "199.00",
    "tax": "31.77",
    "total": "199.00",
    "totalCommission": "0.00",
    "totalDiscount": "0.00",
    "totalVoucher": "0.00",
    "totalWeight": 0
  },
  "orderList": {
    "item": [
      {
        "basketId": "2014a8373f19d80b99e0",
        "discount": "0.00",
        "extraFields": {},
        "freeFields": {
          "gravur1": "",
          "gravur2": "",
          "gravur3": ""
        },
        "isAutoBasket": false,
        "isChangeable": true,
        "isRemovable": true,
        "isVisible": true,
        "itemNumber": "83-1783-44",
        "name": "Neuer Blazer 'Bethy'",
        "orgPrice": "0.00",
        "price": "199.00",
        "productId": "83-1783",
        "quantity": "1.00",
        "singleTotal": "199.00",
        "taxId": "1",
        "taxRate": "0.1900000",
        "total": "199.00",
        "variantId": "5",
        "variantSelection": [
          {
            "attributeId": "Größe",
            "optionId": "44"
          }
        ],
        "weight": 0
      }
    ]
  },
  "shippingAddress": null,
  "store": null
}

POST account/displayName/update

Mit diesem Aufruf lässt sich der öffentliche Anzeigename des aktuell eingeloggten Kundenkontos ändern. Dabei handelt es sich um den Namen, der bei Produktbewertungen neben den Rezensionen angezeigt wird. Beispiel-Aufruf, der den öffentlichen Anzeigenamen des aktuell eingeloggten Benutzerkontos auf Name ändert
POST https://<ihr-shop>.de/api/v1/account/displayName/update

Beispiel-Request

{ "displayName": "Name" }

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
displayNamestringPflichtfeld Neuer Anzeigename für Bewertungen.

Beispiel-Response

{}

Fehlercodes

CodeBeschreibung
notLoggedInEs ist kein Benutzer eingeloggt.

POST account/email/update

Mit dem folgenden Aufruf kann die E-Mail-Adresse des eingeloggten Kontos geändert werden. Je nach Konfiguration wird anschließend möglicherweise eine E-Mail-Verifizierung ausgelöst. Beispiel-Aufruf, der die E-Mail-Adresse für das aktuell eingeloggte Benutzerkonto auf neue.adresse@example.com ändert
POST https://<ihr-shop>.de/api/v1/account/email/update

Beispiel-Request

 { "email": "neue.adresse@example.com" }

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
emailstringNeue E-Mail-Adresse.

Fehlercodes

CodeBeschreibung
emailCheckFailedDie angegebene E-Mail hat ein ungültiges Format.
accountAlreadyExistsEs existiert bereits ein Account mit dieser E-Mail-Adresse.

POST account/email/verify

Mit dem folgenden Aufruf wird die E-Mail-Adresse mithilfe des Opt-In-Tokens aus der Bestätigungs-E-Mail bestätigt. Beispiel-Aufruf, der die E-Mail-Adresse mithilfe des Opt-In-Token <OPT_IN_TOKEN> verifiziert
POST https://<ihr-shop>.de/api/v1/account/email/verify

Beispiel-Request

{ "otok": "<OPT_IN_TOKEN>" }

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
otokstringOpt-In Token aus der Bestätigungsmail. Kann ein Pflichtfeld oder optional sein. Mehr Infos siehe Hinweis oben.

Beispiel-Response

{}

Fehlercodes

CodeBeschreibung
actionNotAllowedDer übermittelte Opt-In-Token ist ungültig.

POST account/password/change

Mit diesem Aufruf wird das Passwort des aktuell eingeloggten Kontos geändert. Je nach Shop-Konfiguration kann die Eingabe des aktuellen Passworts erforderlich sein und/oder eine E-Mail-Bestätigung ausgelöst werden. Beispiel-Aufruf, um für das aktuelle Benutzerkonto ein neues Passwort (<NEUES_PASSWORT>) zu setzen
POST https://<ihr-shop>.de/api/v1/account/password/change

Beispiel-Request

{ "newPassword": "<NEUES_PASSWORT>" }

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
newPasswordstringPflichtfeld
Das gewünschte neue Passwort für das Benutzerkonto.
emailstringDie E-Mail-Adresse des Kontos, für das das Passwort geändert werden soll. Nur erforderlich, wenn in der Konfiguration vorgegeben.
passwordAuthstringNur erforderlich, wenn in der Konfiguration vorgegeben.

Beispiel-Response

{}

Fehlercodes

CodeBeschreibung
notLoggedInDie Session ist nicht eingeloggt. (fehlende / ungültige x-session)
emailMismatchDie angegebene E-Mail-Adresse stimmt nicht mit dem Konto überein.
missingEmailDie E-Mail-Prüfung wurde in der Konfiguration aktiviert, aber email fehlt im Request.
failedPasswordAuthDas eingegebene Passwort ist falsch.
missingPasswordAuthPrüfung des aktuellen Passworts ist in der Konfiguration aktiviert, aber passwordAuth fehlt im Request.
passwordCheckFailedDas neue Passwort erfüllt die Mindeststandards nicht. (z.B. Länge / Komplexität)

POST account/password/forgotten

Mit dem folgenden Aufruf wird die Passwort-Zurücksetzung für die angegebene E-Mail-Adresse gestartet (es wird eine E-Mail mit weiteren Informationen zum Vorgehen versendet). Beispiel-Aufruf, der den “Passwort vergessen”-Link an die E-Mail-Adresse kunde@example.com sendet
POST https://<ihr-shop>.de/api/v1/account/password/forgotten

Beispiel-Request

{ "email": "kunde@example.com" }

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
emailstringPflichtfeld
E-Mail-Adresse des Kontos.

Fehlercodes

CodeBeschreibung
emailCheckFailedDie angegebene E-Mail-Adresse hat ein ungültiges Format.
passwordRecoveryFailedFür die angegebene E-Mail-Adresse wurde kein Konto gefunden.

POST account/password/reset

Mit folgendem Aufruf kann das Passwort mithilfe des Opt-In-Tokens aus der „Passwort vergessen“-E-Mail zurückgesetzt werden: Beispiel-Aufruf, der die Passwortrücksetzung für das Kundenkonto mit der E-Mail-Adresse kundenkonto@example.com bestätigt und als neues Passwort password setzt
POST https://<ihr-shop>.de/api/v1/account/password/reset

Beispiel-Response

{
  "newPassword": "password",
  "email": "kundenkonto@example.com",
  "otok": "AZ3XHlWGe4E98D4fsJrPhWclSgBBQwAAAAA.ZKgwbjF-IDLuaakADfazRmAWTmjdH-A9W92JtZnPVPQ"
}

Parameterübersicht

Header-Parameter

ParameterBeschreibung
x-sessionPflichtfeld
ID der aktuellen Session.
Mehr Informationen dazu: Storefront API Basics

Body-Parameter

ParameterTypBeschreibung
newPasswordstringPflichtfeld
Das gewünschte neue Passwort.
otokstringPflichtfeld
Opt-In-Token aus der “Passwort vergessen” E-Mail.
emailstringNur erforderlich, wenn die Prüfung der E-Mail in der Konfiguration aktiviert ist.

Fehlercodes

CodeBeschreibung
notLoggedInDer angegebene Opt-In-Token ist ungültig oder abgelaufen.
emailMismatchDie angegebene E-Mail-Adresse stimmt nicht mit dem Konto überein.
missingEmailE-Mail-Prüfung ist in der Konfiguration aktiviert, aber email wurde nicht als Parameter übermittelt.
passwordCheckFailedDas neue Passwort erfüllt die Richtlinien nicht.