Grundkonzept
Abgrenzung der Möglichkeiten im Kundenkonto:- Daten lesen (Adressen, Profil, Login-Status) - erfolgt nicht über Aktionen, sondern über das Modul $wsAccount.
- Strukturelle Einstellungen - (Adressfelder, Kundendatenfelder, B2B-Konfiguration) werden in der Konfiguration festgelegt.
- Diese Seite beschreibt ausschließlich die Aktionen, die Konto-, Adress- und Berechtigungsdaten
Grundlagen: Aufbau einer Aktion
Jede Aktion wird mit$wsActions.create("<Name>") erzeugt und in ein Formular eingebunden. Pflichtfelder jedes Formulars sind wsact (ID der Aktion) und wscsrf (CSRF-Token). Details siehe Aktionen - Übersicht.
Adressen: Typen, Standard und Sichtbarkeit
Adressen haben einen Typ (bill = Rechnungsadresse, delivery = Lieferadresse). Die erste Adresse eines Typs wird automatisch zur Hauptadresse dieses Typs. Über SetMainAddress, SetDefaultBillAddress und SetDefaultDeliveryAddress lassen sich Standardadressen festlegen, die im Checkout vorausgewählt werden.
Im B2B-Kontext besitzt jede Adresse zusätzlich eine Sichtbarkeit: privat (nur für ein Mitarbeiterkonto) oder firmenweit freigegeben. Welcher Wert beim Anlegen vorausgewählt ist, steuert defaultAddressVisibility (siehe UpdateSubAccount). Wem eine Adresse gehört, steuert das Feld addressOwnerMemberId (siehe AddressCreate).
B2B: Mitarbeiterkonten & Berechtigungsgruppen
Diese Funktionen stehen ausschließlich für Firmenkonten im B2B-Bereich zur Verfügung; alle zugehörigen Aktionen erfordern Admin-Rechte. Eine Berechtigungsgruppe bündelt Rechte und Einschränkungen (z. B. erlaubte Zahlungsarten, Budgetgrenzen, gesperrte Seiten). Der typische Ablauf:- Gruppe anlegen →
CreatePrivilegeGroup - Rechte/Einschränkungen der Gruppe setzen →
UpdatePrivileges - Gruppe einem Mitarbeiterkonto zuweisen →
UpdateSubAccount(privilegeGroupId)
SubAccountCreate, UpdateSubAccount und SubAccountDelete verwaltet. Die in der Gruppe gesetzten Budgetgrenzen werden im Frontend am Mitarbeiterkonto schreibgeschützt über $wsAccount.paymentLimit und $wsAccount.paymentLimitPerOrder gelesen.
Aktionen im Überblick
Konto| Aktion | Beschreibung |
|---|---|
AccountRegister | Erstellt ein neues Kundenkonto. |
AccountActivate | Aktiviert ein bestehendes Kundenkonto über eine E-Mail-Adresse. |
AccountActivateOptIn | Aktiviert ein bestehendes Kundenkonto per Opt-In-Token. |
EmailVerify | Verifiziert eine E-Mail-Adresse per Double-Opt-In. |
AccountDelete | Löscht den Account des eingeloggten Benutzers. |
AccountDeleteOptIn | Bestätigt die Löschung eines Kundenkontos per Opt-In-Token. |
| Aktion | Beschreibung |
|---|---|
Login | Meldet einen Benutzer an. |
Logout | Meldet einen eingeloggten Benutzer ab. |
UnlockLogin | Entsperrt einen gesperrten Login-Zugang. |
PasswordForgotten | Sendet eine Passwort-vergessen-E-Mail. |
ResetPassword | Setzt das Passwort eines Benutzerkontos neu. |
CheckPasswordStrength | Prüft die Stärke eines eingegebenen Passworts in Echtzeit per AJAX. |
| Aktion | Beschreibung |
|---|---|
EmailUpdate | Ändert die hinterlegte E-Mail-Adresse eines Benutzerkontos. |
EmailUpdateOptIn | Bestätigt die Änderung der E-Mail-Adresse per Opt-In-Token. |
accountDisplayNameUpdate | Ändert den Anzeigenamen eines Kundenkontos. |
AccountSetCustomerData | Setzt oder aktualisiert benutzerdefinierte Kundendaten. |
| Aktion | Beschreibung |
|---|---|
AddressCreate | Erstellt eine neue Adresse für den eingeloggten Benutzer. |
AddressUpdate | Bearbeitet eine bestehende Adresse des eingeloggten Benutzers. |
AddressDelete | Löscht eine Adresse des eingeloggten Benutzers. |
SetMainAddress | Legt eine Adresse als Hauptadresse fest. |
SetDefaultBillAddress | Legt eine Adresse als Standard-Rechnungsadresse fest. |
SetDefaultDeliveryAddress | Legt eine Adresse als Standard-Lieferadresse fest. |
RemoveDefaultBillAddress | Entfernt die gesetzte Standard-Rechnungsadresse. |
RemoveDefaultDeliveryAddress | Entfernt die gesetzte Standard-Lieferadresse. |
| Aktion | Beschreibung |
|---|---|
CreditCardDelete | Löscht eine gespeicherte Kreditkarte aus dem Kundenkonto. |
| Aktion | Beschreibung |
|---|---|
GuestRegister | Erstellt aus einem Gast-Checkout ein vollwertiges Kundenkonto (E-Mail aus Checkout-Daten). |
SaveGuestDataToUser | Erstellt aus einem Gast-Checkout ein vollwertiges Kundenkonto. |
| Aktion | Beschreibung |
|---|---|
SubAccountCreate | Legt ein neues Mitarbeiterkonto an und sendet eine E-Mail mit dem Link zum Setzen des Passworts. |
UpdateSubAccount | Aktualisiert die Einstellungen eines Mitarbeiterkontos. |
SubAccountDelete | Löscht ein bestehendes Mitarbeiterkonto. |
AcceptInvitation | Nimmt eine Einladung zu einem Firmenkonto per Double-Opt-In an. |
| Aktion | Beschreibung |
|---|---|
CreatePrivilegeGroup | Legt eine neue Berechtigungsgruppe an. |
UpdatePrivileges | Erstellt oder aktualisiert eine Berechtigungsgruppe mit definierten Rechten. |
DeletePrivilegeGroup | Löscht eine bestehende Berechtigungsgruppe. |
Konto-Lebenszyklus
AccountRegister
Mit dieser Aktion wird ein neues Kundenkonto angelegt. Der Benutzer gibt dabei seine E-Mail-Adresse sowie ein Passwort an. AnwendungsbeispielNutzbar auf einer Registrierungsseite, auf der neue Kunden ein Konto erstellen können, um z.B. ihre Bestellhistorie einzusehen oder Adressen zu verwalten. Parameter
| Name | Beschreibung |
|---|---|
email | Identifier des Benutzer-Accounts (standardmäßig die E-Mail-Adresse). |
password | Passwort des Benutzer-Accounts. |
passwordRepeat | Erneute Eingabe des Passworts - muss mit password übereinstimmen. |
| Code | Beschreibung |
|---|---|
missingId | Parameter id ist leer. |
missingPassword | Parameter password ist leer. |
passwordMismatch | Parameter password und passwordRepeat sind nicht identisch. |
emailCheckFailed | Parameter id enthält eine ungültige E-Mail-Adresse. |
passwordCheckFailed | Passwort erfüllt nicht die erforderlichen Richtlinien. |
accountAlreadyExists | Es existiert bereits ein Account mit der angegebenen id. |
AccountActivate
Mit dieser Aktion wird ein bestehendes Kundenkonto aktiviert. Die Aktion wird typischerweise über ein Formular ausgelöst. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf der der Kunde seine E-Mail-Adresse eingibt, um sein Konto zu aktivieren. Parameter
| Name | Beschreibung |
|---|---|
id | Identifier des Benutzer-Accounts (standardmäßig die E-Mail-Adresse). |
| Fehlercode | Beschreibung |
|---|---|
missingId | Parameter id ist leer. |
emailCheckFailed | Parameter identhält eine ungültige E-Mail-Adresse. |
accountAlreadyExists | Es existiert bereits ein aktiver Account mit der angegebenen id. |
AccountActivateOptIn
Mit dieser Aktion wird ein bestehendes Kundenkonto per Opt-In-Token aktiviert. Der Token wird dabei über einen Link in einer Bestätigungs-E-Mail an den Benutzer übermittelt. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf die der Kunde nach Klick auf den Opt-In-Link in der Registrierungs-E-Mail weitergeleitet wird. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
unauthorized | Es wurde kein gültiger Opt-In-Token übergeben. |
EmailVerify
Mit dieser Aktion wird eine E-Mail-Adresse per Double-Opt-In verifiziert. Nach der Registrierung erhält der Kunde eine Bestätigungs-E-Mail; durch Klick auf den enthaltenen Link wird diese Aktion auf der Shop-Seite ausgeführt. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf die der Kunde nach Klick auf den Verifizierungslink in der Registrierungs-E-Mail weitergeleitet wird. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
actionNotAllowed | Kein gültiger Double-Opt-In-Token vorhanden. |
AccountDelete
Mit dieser Aktion wird der Account des aktuell eingeloggten Benutzers unwiderruflich gelöscht. AnwendungsbeispielNutzbar auf einer Account-Verwaltungsseite, auf der eingeloggte Kunden ihr Konto auf Wunsch selbst löschen können. Fehlercodes
| Code | Beschreibung |
|---|---|
| notLoggedIn | Der Benutzer ist nicht eingeloggt. |
AccountDeleteOptIn
Mit dieser Aktion wird die Löschung eines Kundenkontos per Opt-In-Token bestätigt. Der Token wird über einen Link in einer Bestätigungs-E-Mail an den Benutzer übermittelt. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf die der Kunde nach Klick auf den Opt-In-Link in der Löschungs-E-Mail weitergeleitet wird. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
unauthorized | Es wurde kein gültiger Opt-In-Token übergeben. |
Anmeldung & Passwort
Login
Mit dieser Aktion wird ein Benutzer mit seinen Zugangsdaten angemeldet. AnwendungsbeispielNutzbar auf der Login-Seite, auf der Kunden sich mit E-Mail-Adresse und Passwort in ihr Konto einloggen können. Parameter
| Name | Beschreibung |
|---|---|
id | Identifier des Benutzer-Accounts (standardmäßig die E-Mail-Adresse). |
password | Passwort des Benutzer-Accounts. |
| Code | Beschreibung |
|---|---|
missingId | Parameter id ist leer. |
missingPassword | Parameter password ist leer. |
emailCheckFailed | Parameter id enthält eine ungültige E-Mail-Adresse. |
loginBlocked | Zu viele ungültige Loginversuche. |
invalidCredentials | Ungültiger Loginversuch - id oder password sind nicht korrekt. |
Logout
Mit dieser Aktion wird ein eingeloggter Benutzer abgemeldet. AnwendungsbeispielNutzbar als Logout-Button im Header oder auf der Account-Übersichtsseite. Zugehörige Module, Variablen & Methoden Beispiel das zeigt, wie die Aktion über einen einfachen Link ausgelöst wird, der den Benutzer nach dem Logout auf eine definierte Seite weiterleitet.
UnlockLogin
Mit dieser Aktion wird ein Login-Zugang entsperrt, der aufgrund zu vieler fehlgeschlagener Anmeldeversuche gesperrt wurde. Die Aktion kann sowohl von einem eingeloggten Benutzer als auch über einen Opt-In-Token ausgeführt werden. AnwendungsbeispielNutzbar, wenn ein Kunde nach mehreren Fehleingaben aus seinem Konto ausgesperrt wurde und einen Entsperrlink per E-Mail erhalten hat. Fehlercodes
| Code | Beschreibung |
|---|---|
unauthorized | Der Benutzer ist nicht eingeloggt oder es wurde kein gültiger Opt-In-Token übergeben. |
PasswordForgotten
Mit dieser Aktion wird eine Passwort-vergessen-E-Mail an die angegebene E-Mail-Adresse gesendet. Die E-Mail enthält einen Opt-In-Link, der die Ausführung der AktionResetPassword erlaubt.
AnwendungsbeispielNutzbar auf einer “Passwort vergessen”-Seite, auf der Kunden ihre E-Mail-Adresse eingeben, um einen Wiederherstellungslink zu erhalten. Parameter
| Name | Beschreibung |
|---|---|
email | E-Mail-Adresse des Benutzerkontos, an die der Opt-In-Link gesendet wird. |
| Fehlercode | Beschreibung |
|---|---|
missingEmail | Parameter email ist leer. |
emailCheckFailed | Parameter email enthält keine gültige E-Mail-Adresse. |
passwordRecoveryFailed | Es existiert kein Benutzerkonto zu der angegebenen E-Mail-Adresse. |
ResetPassword
Mit dieser Aktion wird das Passwort eines Benutzerkontos neu gesetzt. Nach erfolgreicher Ausführung wird der Benutzer automatisch ausgeloggt. Standardmäßig gilt die Aktion für den eingeloggten Benutzer - wird ein Opt-In-Token mitgesendet, gilt sie für den mit dem Token verknüpften Benutzer. AnwendungsbeispielNutzbar auf der Seite, auf die der Kunde über den Passwort-vergessen-Link weitergeleitet wird, um dort ein neues Passwort zu vergeben. Parameter
| Name | Beschreibung |
|---|---|
newPassword | Das neue Passwort, das für das Benutzerkonto gesetzt werden soll. |
newPasswordRepeat | Wiederholung des neuen Passworts zur Vermeidung von Tippfehlern. |
passwordAuth | Bisheriges Passwort des Benutzerkontos. Nicht erforderlich, wenn ein Opt-In-Token verwendet wird. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Weder ein Opt-In-Token noch eine eingeloggte Session ist vorhanden. |
missingPassword | Parameter newPassword ist leer. |
passwordMismatch | Parameter newPasswordund newPasswordRepeatsind nicht identisch. |
missingPasswordAuth | Parameter passwordAuth ist leer. Tritt nur ohne Opt-In-Token auf. |
failedPasswordAuth | Parameter passwordAuth stimmt nicht mit dem bisherigen Passwort überein. |
passwordCheckFailed | newPassword entspricht nicht den Passwortregeln. |
CheckPasswordStrength
Mit dieser Aktion wird die Stärke eines eingegebenen Passworts in Echtzeit geprüft. Die Aktion wird per AJAX im Hintergrund ausgeführt und gibt ein JSON-Objekt mit dem Bewertungsergebnis zurück. AnwendungsbeispielNutzbar auf Seiten mit Passwort-Eingabefeldern, z.B. auf der Registrierungsseite, um dem Kunden direktes Feedback zur Passwortstärke zu geben. Parameter
| Name | Beschreibung |
|---|---|
password | Das zu prüfende Passwort. |
| Wert | Beschreibung |
|---|---|
value | Erreichte Punktzahl der Passwortstärke. |
max | Maximale Punktzahl der Passwortstärke. |
Konto- & Kontaktdaten
EmailUpdate
Mit dieser Aktion wird die hinterlegte E-Mail-Adresse eines Benutzerkontos geändert. AnwendungsbeispielNutzbar auf der Account-Verwaltungsseite, auf der eingeloggte Kunden ihre E-Mail-Adresse aktualisieren können. Parameter
| Name | Beschreibung |
|---|---|
email | Neue E-Mail-Adresse, die für das Benutzerkonto hinterlegt werden soll. |
| Fehlercode | Beschreibung |
|---|---|
missingEmail | Parameter email fehlt. |
emailCheckFailed | Parameter email enthält keine gültige E-Mail-Adresse. |
accountAlreadyExists | Es existiert bereits ein anderer Account mit dieser E-Mail-Adresse. |
EmailUpdateOptIn
Mit dieser Aktion wird die Änderung der E-Mail-Adresse per Opt-In-Token bestätigt. Der Token wird über einen Link in einer Bestätigungs-E-Mail an die neue E-Mail-Adresse übermittelt. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf die der Kunde nach Klick auf den Opt-In-Link in der Bestätigungs-E-Mail weitergeleitet wird. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
unauthorized | Es wurde kein gültiger Opt-In-Token übergeben. |
accountDisplayNameUpdate
Mit dieser Aktion wird der Anzeigename eines Kundenkontos geändert. AnwendungsbeispielNutzbar auf der Account-Verwaltungsseite, auf der eingeloggte Kunden ihren Anzeigenamen aktualisieren können. Parameter
| Name | Beschreibung |
|---|---|
displayName | Der neue Anzeigename, der für das Benutzerkonto hinterlegt werden soll. |
| Code | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
missingDisplayName | Parameter displayName fehlt. |
AccountSetCustomerData
Mit dieser Aktion werden benutzerdefinierte Kundendaten für das eingeloggte Benutzerkonto gesetzt oder aktualisiert. AnwendungsbeispielNutzbar auf der Account-Verwaltungsseite, auf der eingeloggte Kunden ihre persönlichen Daten wie z.B. Geburtsdatum oder Telefonnummer hinterlegen können. Parameter
| Name | Beschreibung |
|---|---|
customerData.(fieldname) | Die einzelnen Felder der Kundendaten. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
emptyCustomerData | Es wurden keine Kundendatenfelder übergeben. |
Adressen
AddressCreate
Mit dieser Aktion wird eine neue Adresse für den eingeloggten Benutzer erstellt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, auf der Kunden neue Liefer- oder Rechnungsadressen anlegen können. Parameter
| Name | Beschreibung |
|---|---|
address.(fieldname) | Die einzelnen Felder der Adresse, z.B. address.firstName, address.streetetc. |
type | Art der Adresse: - “bill” - Rechnungsadresse - “delivery” - Lieferadresse Handelt es sich für das betreffende Kundenkonto um die erste Adresse seiner Art, wird sie automatisch als Hauptadresse für den jeweiligen Typ gesetzt. |
address.addressOwnerMemberId | (B2B) ID des Mitarbeiters, dem die Adresse gehört. Wird das Feld nicht übergeben oder auf 0 gesetzt, ist die Adresse eine firmenweite Adresse, die jeder Mitarbeiter sehen und nutzen kann. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt und kein Opt-In-Token vorhanden. |
emptyAddress | Es wurden keine Adressfelder übergeben. |
addressCheckFailed | Fehler in den Adressdaten. Wird über Sub-Codes konkretisiert: - minlen = zu wenig Zeichen - maxlen = zu viele Zeichen - numeric = ungültige Zeichen - country = Land nicht konfiguriert - zip = Postleitzahl fehlerhaft |
AddressUpdate
Mit dieser Aktion wird eine bestehende Adresse des eingeloggten Benutzers bearbeitet. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, wenn ein Kunde eine seiner gespeicherten Adressen aktualisieren möchte. Parameter
| Name | Beschreibung |
|---|---|
addressId | Die ID der Adresse, die bearbeitet werden soll. |
address.(fieldname) | Die einzelnen Felder der Adresse, die aktualisiert werden sollen. |
type | Art der Adresse: - “bill” - Rechnungsadresse - “delivery” - Lieferadresse |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt und es ist kein Opt-In-Token vorhanden. |
emptyAddress | Es wurden keine Adressfelder übergeben. |
invalidAddressId | Ungültige addressId - die Adresse existiert nicht oder gehört nicht zu diesem Benutzerkonto. |
AddressDelete
Mit dieser Aktion wird eine Adresse des eingeloggten Benutzers gelöscht. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, wenn ein Kunde eine nicht mehr benötigte Adresse entfernen möchte. Parameter
| Name | Beschreibung |
|---|---|
addressId | Die ID der Adresse, die gelöscht werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt und es ist kein Opt-In-Token vorhanden. |
invalidAddressId | Ungültige addressId - die Adresse existiert nicht oder gehört nicht zu diesem Benutzerkonto. |
SetMainAddress
Mit dieser Aktion wird eine gespeicherte Adresse als Hauptadresse festgelegt. Die Hauptadresse wird im Checkout automatisch vorausgewählt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, damit Kunden ihre bevorzugte Adresse als Standard für zukünftige Bestellungen hinterlegen können. Parameter
| Name | Beschreibung |
|---|---|
addressId | Die ID der Adresse, die als Hauptadresse gesetzt werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
missingAddressId | Parameter addressId fehlt. |
invalidAddressId | Ungültige addressId - die Adresse existiert nicht oder gehört zu einem anderen Konto. |
SetDefaultBillAddress
Mit dieser Aktion wird eine gespeicherte Adresse als Standard-Rechnungsadresse festgelegt. Die Standard-Rechnungsadresse wird im Checkout automatisch als Rechnungsadresse vorausgewählt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, damit Kunden eine bevorzugte Rechnungsadresse als Standard für zukünftige Bestellungen hinterlegen können. Parameter
| Name | Beschreibung |
|---|---|
addressId | Die ID der Adresse, die als Standard-Rechnungsadresse gesetzt werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
missingAddressId | Parameter addressId fehlt. |
invalidAddressId | Ungültige addressId - die Adresse existiert nicht oder gehört zu einem anderen Konto. |
SetDefaultDeliveryAddress
Mit dieser Aktion wird eine gespeicherte Adresse als Standard-Lieferadresse festgelegt. Die Standard-Lieferadresse wird im Checkout automatisch als Lieferadresse vorausgewählt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, damit Kunden eine bevorzugte Lieferadresse als Standard für zukünftige Bestellungen hinterlegen können. Parameter
| Name | Beschreibung |
|---|---|
addressId | Die ID der Adresse, die als Standard-Lieferadresse gesetzt werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
missingAddressId | Parameter addressId fehlt. |
invalidAddressId | Ungültige addressId - die Adresse existiert nicht oder gehört zu einem anderen Konto. |
RemoveDefaultBillAddress
Mit dieser Aktion wird die gesetzte Standard-Rechnungsadresse des eingeloggten Benutzers entfernt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, wenn ein Kunde die Standard-Rechnungsadresse zurücksetzen möchte, sodass im Checkout keine Adresse mehr vorausgewählt ist. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
RemoveDefaultDeliveryAddress
Mit dieser Aktion wird die gesetzte Standard-Lieferadresse des eingeloggten Benutzers entfernt. AnwendungsbeispielNutzbar auf der Adressverwaltungsseite, wenn ein Kunde die Standard-Lieferadresse zurücksetzen möchte, sodass im Checkout keine Adresse mehr vorausgewählt ist. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
Kreditkarten
CreditCardDelete
Mit dieser Aktion wird eine gespeicherte Kreditkarte aus dem Kundenkonto gelöscht. AnwendungsbeispielNutzbar auf der Kreditkartenverwaltungsseite, auf der eingeloggte Kunden ihre gespeicherten Kreditkarten einsehen und entfernen können. Parameter
| Name | Beschreibung |
|---|---|
pseudoCCId | Die ID der Kreditkarte, die gelöscht werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
invalidPseudoCCId | Ungültige pseudoCCId - die Kreditkarte existiert nicht oder gehört nicht zu diesem Benutzerkonto. |
Gast → Konto
GuestRegister
Mit dieser Aktion wird aus einem Gast-Checkout ein vollwertiges Kundenkonto erstellt. Der Gast gibt dabei ein Passwort an, die E-Mail-Adresse wird automatisch aus den Checkout-Daten übernommen. AnwendungsbeispielNutzbar auf der Bestellbestätigungsseite nach einem Gast-Checkout, auf der nicht eingeloggte Kunden die Möglichkeit erhalten, sich direkt ein Konto anzulegen. Parameter
| Name | Beschreibung |
|---|---|
guestMail | E-Mail-Adresse des Gast-Kontos, wird automatisch aus den Checkout-Daten übernommen. |
password | Neues Passwort für das Kundenkonto. |
passwordRepeat | Wiederholung des Passworts. |
| Fehlercode | Beschreibung |
|---|---|
passwordCheckFailed | Passwort erfüllt nicht die erforderlichen Richtlinien. Wird über Sub-Codes konkretisiert: - minlen = zu wenig Zeichen - maxlen = zu viele Zeichen |
SaveGuestDataToUser
Mit dieser Aktion wird aus den Daten eines Gast-Checkouts ein vollwertiges Kundenkonto erstellt. Der Gast gibt dabei ein Passwort an und erhält damit Zugang zu einem dauerhaften Konto. AnwendungsbeispielNutzbar auf der Bestellbestätigungsseite nach einem Gast-Checkout, um dem Kunden die Möglichkeit zu geben, sich direkt ein Konto anzulegen, ohne erneut alle Daten eingeben zu müssen. Parameter
| Name | Beschreibung |
|---|---|
id | E-Mail-Adress des Gast-Kontos. |
password | Neues Passwort für das Kundenkonto. |
passwordRepeat | Wiederholung des Passworts. |
| Fehlercode | Beschreibung |
|---|---|
nonGuestAccount | Der Benutzer ist bereits in einem Kundenkonto eingeloggt. |
missingId | Parameter id fehlt. |
missingPassword | Parameter password fehlt. |
passwordMismatch | Parameter password und passwordRepeat sind nicht identisch. |
passwordCheckFailed | Passwortregel-Prüfung ist fehlgeschlagen. |
B2B – Mitarbeiterkonten
Alle Aktionen in diesem Abschnitt erfordern Admin-Rechte und stehen nur für Firmenkonten im B2B-Bereich zur Verfügung. Eine Einführung in das Zusammenspiel von Mitarbeiterkonten und Berechtigungsgruppen findet sich im Abschnitt Konzepte.SubAccountCreate
Mit dieser Aktion wird ein neues Mitarbeiterkonto angelegt. An die angegebene E-Mail-Adresse wird automatisch eine E-Mail mit einem Link zum Setzen des Passworts gesendet. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Account-Verwaltungsseite, auf der Administratoren neue Mitarbeiterkonten anlegen können. Parameter
| Name | Beschreibung |
|---|---|
email | E-Mail-Adresse des neuen Mitarbeiterkontos. An diese Adresse wird der Link zum Setzen des Passworts gesendet. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
missingId | Parameter email ist leer. |
emailCheckFailed | Parameter emailenthält eine ungültige E-Mail-Adresse. |
accountAlreadyExists | Es existiert bereits ein Account mit der angegebenen E-Mail-Adresse. |
UpdateSubAccount
Mit dieser Aktion werden die Einstellungen des bestehenden Mitarbeiterkontos aktualisiert. Eine Deaktivierung des eigenen Kontos oder das Entziehen der Admin-Rechte ist nicht möglich. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Mitarbeiterverwaltungsseite, auf der Administratoren Rollen und weitere Einstellungen von Mitarbeiterkonten anpassen können. Parameter
| Name | Beschreibung |
|---|---|
memberId | Die ID des Mitarbeiterkontos, das aktualisiert werden soll. |
displayName | Anzeigename des Mitarbeiterkontos. |
active | Gibt an, ob sich das Mitarbeiterkonto anmelden darf (true / false).Das eigene Konto kann nicht deaktiviert werden. |
admin | Gibt an, ob das Konto Admin-Rechte besitzt (true / false).Dem eigenen Konto können keine Admin-Rechte entzogen werden. |
privilegeGroupId | ID der Berechtigungsgruppe, die dem Mitarbeiterkonto zugewiesen wird. |
defaultAddressVisibility | Legt fest, welche Sichtbarkeit beim Anlegen neuer Adressen standardmäßig vorausgewählt ist. Mögliche Werte: - private (nur für dieses Konto sichtbar)- shared (firmenweit freigegeben) |
allowedSubshops | Legt fest, auf welche Subshops das Mitarbeiterkonto Zugriff hat. Die Subshop-IDs werden als Schlüssel eines JSON-Objekts übergeben, z.B. {"shop1": true, "shop2": true}. |
| Fehlercode | Beschreibung |
|---|---|
| notLoggedIn | Der Benutzer ist nicht eingeloggt. |
| unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
| missingMemberId | Parameter memberId fehlt. |
| invalidMemberId | Ungültige memberId - das Mitarbeiterkonto existiert nicht oder gehört nicht zu diesem Account. |
| selfDeactivationNotAllowed | Das eigene Konto kann nicht deaktiviert werden. |
| selfAdminRemovalNotallowed | Dem eigenen Konto können keine Admin-Rechte entzogen werden. |
SubAccountDelete
Mit dieser Aktion wird ein bestehendes Mitarbeiterkonto gelöscht. Das eigene Konto sowie Konten mit Admin-Rechten können nicht gelöscht werden. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Mitarbeiterverwaltungsseite, auf der Administratoren nicht mehr benötigte Mitarbeiterkonten entfernen können. Parameter
| Name | Beschreibung |
|---|---|
memberId | Die ID des Mitarbeiterkontos, das gelöscht werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
missingMemberId | Parameter memberId fehlt. |
invalidMemberId | Ungültige memberId - das Mitarbeiterkonto existiert nicht oder gehört nicht zu diesem Account. |
deletionNotAllowed | Das Konto darf nicht gelöscht werden, weil es sich um das eigene Konto oder ein Admin-Konto handelt. |
AcceptInvitation
Mit dieser Aktion nimmt ein B2B-Firmenkunde eine Einladung per Double-Opt-In-Verfahren an. Der Token ist in einem Link enthalten, den der Kunde per E-Mail erhält. Nach erfolgreicher Verifizierung hat das Konto vollen Zugriff auf den Shop. AnwendungsbeispielNutzbar auf der Bestätigungsseite, auf die der eingeladene Kunde nach Klick auf den Einladungslink in der E-Mail weitergeleitet wird. Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
unauthorized | Es wurde kein gültiger Opt-In-Token übergeben. |
invalidAccountId | Der Double-Opt-In-Token konnte keinem Kundenkonto zugeordnet werden. |
actionNotAllowed | Der Double-Opt-In-Token ist ungültig oder passt nicht zum Konto. |
B2B – Berechtigungsgruppen
Alle Aktionen in diesem Abschnitt erfordern Admin-Rechte und stehen nur für Firmenkonten im B2B-Bereich zur Verfügung. Zum Zusammenspiel mit Mitarbeiterkonten siehe Abschnitt Konzepte.CreatePrivilegeGroup
Mit dieser Aktion wird eine neue Berechtigungsgruppe erstellt. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Berechtigungsverwaltungsseite, auf der Administratoren neue Gruppen mit definierten Rechten für Mitarbeiterkonten erstellen können. Parameter
| Name | Beschreibung |
|---|---|
name | Name der neuen Berechtigungsgruppe. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
missingName | Parameter name fehlt oder ist leer. |
UpdatePrivileges
Mit dieser Aktion wird eine Berechtigungsgruppe aktualisiert. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Berechtigungsverwaltungsseite, auf der Administratoren Rechte und Einschränkungen für Berechtigungsgruppen definieren können. Parameter
| Name | Beschreibung |
|---|---|
privilegeId | Die ID der Berechtigungsgruppe, die aktualisiert werden soll. |
createMissing | Gibt an, ob die Gruppe automatisch erstellt werden soll, falls sie nicht existiert. Mögliche Werte: - yes |
type | Art der Berechtigungsgruppe: - global (shopweit)- account (kontobezogen) |
privileges | JSON-Objekt mit den Berechtigungsfeldern. Mögliche Felder: - allowedPaymentMethods (Liste erlaubter Zahlungsarten)- paymentLimitPerOrder (maximaler Bestellwert pro Bestellung)- paymentLimit (globale Budgetgrenze über alle Bestellungen seit Limitsetzung)- blockedTemplates (gesperrte Templates / Seiten der Gruppe) - blockedUrls (gesperrte URLs der Gruppe)- editableFields (bearbeitbare Felder der Gruppe)- groupName (nur relevant bei type = global) |
paymentLimitPerOrder begrenzt jede einzelne Bestellung, paymentLimit die kumulierte Ausgabensumme. Beide Werte werden im Frontend schreibgeschützt direkt am Account gelesen, über $wsAccount.paymentLimit bzw. $wsAccount.paymentLimitPerOrder.
Fehlercodes
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
missingPrivilegeId | Parameter privilegeId fehlt. |
invalidPrivilegeId | Ungültige privilegeId - die Gruppe existiert nicht und createMissing ist nicht gesetzt. |
invalidType | Parameter type enthält einen ungültigen Wert. |
DeletePrivilegeGroup
Mit dieser Aktion wird eine bestehende Berechtigungsgruppe gelöscht. Eine Gruppe kann jedoch nicht gelöscht werden, solange ihr noch Mitarbeiterkonten zugewiesen sind. Für diese Aktion sind Admin-Rechte erforderlich. AnwendungsbeispielNutzbar auf der Berechtigungsverwaltungsseite, wenn eine nicht mehr benötigte Berechtigungsgruppe entfernt werden soll. Parameter
| Name | Beschreibung |
|---|---|
id | Die ID der Berechtigungsgruppe, die gelöscht werden soll. |
| Fehlercode | Beschreibung |
|---|---|
notLoggedIn | Der Benutzer ist nicht eingeloggt. |
unauthorized | Der Benutzer verfügt nicht über Admin-Rechte. |
missingId | Parameter id fehlt. |
invalidId | Ungültige id - die Berechtigungsgruppe existiert nicht. |
groupHasMembers | Die Berechtigungsgruppe kann nicht gelöscht werden, da ihr noch Mitarbeiterkonten zugewiesen sind. |
