Unterstützte Methoden
Angabe aller unterstützten Methoden.| Befehl/Info | Endpunkte | GET | PUT | POST | DELETE |
|---|---|---|---|---|---|
| Benutzerkonto im Admin-Bereich | admin/user | ||||
| Benutzereinstellungen | admin/settings |
Allgemein
Datenfelder eines Benutzerkontos
| Name | Typ | |
|---|---|---|
| id | Integer | Eindeutige ID des Benutzers |
| firstName | String | Vorname des Benutzers |
| lastName | String | Nachname des Benutzers |
| role | Array | Rollen im Unternehmen als Array, z.B. [“marketing”, “seo”] |
| String | E-Mail-Adresse des Benutzers | |
| userName | String | Benutzername des Benutzers |
| permissions | Objekt | Berechtigungen des Benutzers für Dienste |
Beispiel
Datenfelder der Benutzereinstellungen
| Name | Typ | Verwendung |
|---|---|---|
| dashboard.content[] | Array | Liste von konfigurierten Widgets auf dem Benutzer-Dashboard |
| dashboard.content[].position.cols | Integer | Anzahl der Spalten, die das Widget belegt |
| dashboard.content[].position.rows | Integer | Anzahl der Zeilen, die das Widget belegt |
| dashboard.content[].position.x | Integer | Horizontale Position des Widgets im Raster |
| dashboard.content[].position.y | Integer | Vertikale Position des Widgets im Raster |
| dashboard.content[].settings | Object | Individuelle Einstellungen für das jeweilige Widget |
| dashboard.content[].settings.shortcuts[] | Array | (Nur für Widget „shortcuts“) Liste mit Link-Shortcuts |
| dashboard.content[].settings.shortcuts[].label | String | Text, der auf dem Button angezeigt wird |
| dashboard.content[].settings.shortcuts[].route | String | Interne Route, die beim Klick geöffnet wird |
| dashboard.content[].widgetId | String | Eindeutige Kennung des verwendeten Widgets |
| firstName | String | Vorname des Benutzers |
| language | String | Sprachcode des Benutzers (z. B. „deu“) |
| lastName | String | Nachname des Benutzers |
| salutation | String | Anrede des Benutzers (m, w oder d) |
| colorScheme | String | Farbschema des Admin-Interfaces |
Beispiel
Berechtigungen
| Technischer Name | Bedeutung | Werte |
|---|---|---|
"admin" | Vollzugriff auf alle Bereiche | 0 = Active |
"products" | Produkte | 0 = Read1 = Write2 = Create3 = Delete4 = WriteProtectedFields |
"productvariants" | Produktvarianten | 0 = Read1 = Write2 = Create3 = Delete |
"productRatings" | Produktbewertungen | 0 = Read1 = Write2 = Create3 = Delete |
"inventory" | Produkte Lagerbestand | 0 = Read1 = Write2 = Create3 = Delete |
"productFields" | Produktfelder | 0 = Read1 = Write2 = Create3 = Delete |
"categories" | Kategorien | 0 = Read1 = Write2 = Create3 = Delete |
"categoryFields" | Kategoriefelder | 0 = Read1 = Write2 = Create3 = Delete |
"configuration" | Konfigurationen | 0 = Read1 = Write2 = Create3 = Delete |
"seo" | SEO | 0 = Read1 = Write2 = Create3 = Delete |
"sitemaps" | SiteMaps | 0 = Read1 = Create2 = Write3 = Delete4 = Publish |
"datafeeds" | Datenfeeds | 0 = Read1 = Write2 = Create3 = Delete4 = Publish |
"orders" | Bestellungen | 0 = Read1 = Write2 = Delete |
"inquiries" | Anfragen | 0 = Read1 = Write2 = Delete |
"texts" | Textbausteine | 0 = Read1 = Write2 = Create3 = Delete4 = Publish |
"templates" | Shop-Seiten-Templates | 0 = Read4 = Publish |
"customerAccounts" | Kundendaten | 0 = Read1 = Write2 = Create3 = Delete |
"vouchers" | Gutscheine | 0 = Read1 = Write2 = Create3 = Delete |
"transactions" | Transaktionen | 0 = Read1 = Write |
"keyValue" | Key-Value-Store | 0 = Read1 = Write2 = Create3 = Delete |
"newsletter" | Newsletter | 0 = Read1 = Write2 = Create3 = Delete |
"blacklist" | Newsletter-Blacklist | 0 = Add1 = Remove |
"statistics" | Alle Statistiken | 0 = Read |
"logs" | Logs | 0 = Read1 = Write2 = Create3 = Delete |
"strapi" | Link zum Strapi-CMS | 0 = Read |
"dashboard" | Dashboard im AI | 0 = Read |
"imageconverter" | Bildkonverter | 0 = Read1 = Write2 = Create3 = Delete4 = Publish |
"paypalonboarding" | Paypal-Onboarding | 0 = Read1 = Write2 = Create3 = Delete |
"paymentprovider" | Payment provider | 0 = Read1 = Write2 = Create3 = Delete |
Beispiel der Berechtigungen
admin.0 (admin.active) ist auf false gesetzt).
Er kann den gesamten Newsletter-Dienst nutzen – die Berechtigungen newsletter.0 (newsletter.Read), newsletter.1 (newsletter.Write), newsletter.2 (newsletter.Create) und newsletter.3 (newsletter.Delete) sind auf true gesetzt, und Kunden- sowie Produkt-Daten lesen – customerAccounts.0 (customerAccounts.Read) und products.0 (products.Read) sind auf true gesetzt.
Methoden für Benutzerkonten
Der Endpunkt/admin/user ermöglicht die Verwaltung von Benutzerkonten. Darüber können Benutzer erstellt, geändert, gelöscht und abgerufen werden.
GET admin/user
Dieser Endpunkt liefert eine Liste aller Benutzerkonten aus dem Admin Interface des Shops.Beispiel
Antwort
Filterfelder
id, firstName, lastName, email, privileges, websale
Sortierfelder
id, firstName, lastName, email, websale
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Benutzern. | |
| 400 Bad Request | ”invalidValue” | |
| 400 Bad Request | ”unknownDataField” | Ein Filter- oder Sortierfeld ist ungültig. |
| 400 Bad Request | ”unknownOperation” | Ein Filtertyp ist ungültig. |
| 400 Bad Request | ”invalidCharacters” | size ist keine Ganzzahl.Ein Filterwert ist ungültig. |
| 400 Bad Request | ”syntaxError” | sort enthält mehr als einen oder keinen ”:”. |
GET admin/user/self
Dieser Endpunkt lädt die Daten des aktuell angemeldeten Benutzerkontos.Beispiel
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet. | |
| 404 Not Found | Das Konto wurde in der Datenbank nicht gefunden. |
GET admin/user/{accountId}
Dieser Endpunkt lädt die Daten eines bestimmten Benutzerkontos anhand deraccountId.
Beispiel
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte zum Lesen von Benutzern. | |
| 400 Bad Request | ”invalidFormat” | accountId ist ungültig. |
| 400 Bad Request | ”invalidValue” | accountId ist 0. |
| 404 Not Found | Das Konto wurde in der Datenbank nicht gefunden. |
GET admin/permissions
Dieser Endpunkt gibt eine Liste mit allen Berechtigungen, die ein Benutzer haben kann.Beispiel
Antwort
POST admin/user
Dieser Endpunkt erstellt ein neues Benutzerkonto für das Admin Interface. Beim Erstellen kann entweder direkt ein Passwort gesetzt oder eine E-Mail mit einem Link zum Passwortsetzen versendet werden.Beispiel
Request Body
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte. | |
| 400 Bad Request | Request body konnte nicht geladen werden. | |
| 400 Bad Request | ”invalidFormat” | firstName, lastName, email oder password sind keine Strings.passwordEmail ist kein Boolean.role ist kein Array.permissions ist kein JSON-Objekt |
| 400 Bad Request | ”missing” | email oder permissions fehlen.password fehlt (wenn passwordEmail nicht auf true gesetzt ist). |
| 400 Bad Request | ”invalidCombination” | Ein Passwort ist angegeben, obwohl passwordEmail auf true gesetzt ist. |
| 400 Bad Request | ”unknownDataField” | Ein unbekanntes Feld wurde gesendet. |
| 503 Service Unavailable | ”internalError” | E-Mail konnte nicht gesendet werden. |
POST admin/passwordChange
Dieser Endpunkt ändert das Passwort des aktuell angemeldeten Benutzerkontos.Beispiel
Request Body
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 400 Bad Request | Request body konnte nicht geladen werden. | |
| 400 Bad Request | ”missing” | newPassword, newPasswordAgain oder oldPassword fehlen. |
| 400 Bad Request | ”invalidValue” | newPassword und newPasswordAgain stimmen nicht überein. newPassword ist kürzer als 12 Zeichen oder zu schwach. oldPassword stimmt nicht mit dem Passwort des Kontos überein. newPassword, newPasswordAgain oder oldPassword sind leere Strings. |
| 400 Bad Request | ”invalidFormat” | newPassword, newPasswordAgain oder oldPassword sind keine Strings. |
| 400 Bad Request | ”unknownDataField” | Ein unbekanntes Feld wurde gesendet. |
| 401 Unauthorized | Nicht autorisiert: Sie verfügen nicht über die erforderlichen Schreibrechte. | |
| 403 Forbidden | Das Konto ist gesperrt. |
POST admin/resend/{accountId}
Dieser Endpunkt versendet eine E-Mail mit einem Link zum Zurücksetzen des Passworts an die E-Mail-Adresse, die zum Benutzerkonto gehört.Beispiel
Request Body
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die Administratorrechte. | |
| 400 Bad Request | ”invalidFormat” | accountId ist keine Ganzzahl. |
| 400 Bad Request | ”invalidValue” | accountId ist 0. |
| 404 Not Found | Das Konto wurde nicht gefunden. | |
| 503 Service Unavailable | ”internalError” | Die E-Mail konnte nicht versendet werden. |
PUT admin/user/{accountId}
Dieser Endpunkt aktualisiert die Informationen eines Benutzerkontos anhand deraccountId.
Beispiel
Request Body
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte. | |
| 400 Bad Request | Request body konnte nicht geladen werden. | |
| 400 Bad Request | ”invalidFormat” | accountId ist ungültig.firstName, lastName oder email sind keine Strings.role ist kein Array.permissions ist kein JSON-Objekt |
| 400 Bad Request | ”unknownDataField” | Ein unbekanntes Feld wurde gesendet. |
| 404 Not Found | Das Konto wurde nicht gefunden. |
DELETE admin/user/{accountId}
Dieser Endpunkt löscht ein bestehendes Benutzerkonto anhand deraccountId.
Beispiel
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 401 Unauthorized | Nicht autorisiert: Sie sind nicht angemeldet oder verfügen nicht über die erforderlichen Rechte. Ein Konto, das der Websale AG gehört, darf nicht gelöscht werden. | |
| 400 Bad Request | ”invalidFormat” | accountId ist ungültig. |
| 400 Bad Request | ”invalidValue” | accountId ist 0. |
| 404 Not Found | Das Konto wurde nicht gefunden. |
Methoden für Benutzereinstellungen
Der Endpunkt/admin/settings ermöglicht das Speichern und Abrufen benutzerbezogener Einstellungen.
GET admin/settings
Dieser Endpunkt lädt die aktuellen Einstellungen des aktuell angemeldeten Benutzers, wie Sprache, Name und Dashboard-Konfiguration.Beispiel
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 404 Not Found | Es gibt keine gespeicherten Einstellungen für das aktive Konto. |
PUT admin/settings
Dieser Endpunkt aktualisiert die Benutzereinstellungen. Nicht übergebene Parameter behalten ihren bisherigen Wert.Beispiel
Request Body
Antwort
Fehlercodes
| Fehler | Typ | Grund |
|---|---|---|
| 400 Bad Request | Request body konnte nicht geladen werden. | |
| 400 Bad Request | ”missing” | dashboard.content, dashboard.content.widgetId, dashboard.content.position, dashboard.content.position.cols, dashboard.content.position.rows, dashboard.content.position.x oder dashboard.content.position.y fehlen. |
| 400 Bad Request | ”unknownDataField” | Ein unbekanntes Feld wurde gesendet. |
| 400 Bad Request | ”invalidFormat” | dashboard ist kein JSON-Objekt.salutation, language, colorScheme, firstName oder lastName sind keine Strings. |
| 400 Bad Request | ”invalidValue” | salutation ist kein gültiger Wert (erlaubt: m, w, d). |
| 401 Unauthorized | Nicht autorisiert: Sie verfügen nicht über die erforderlichen Schreibrechte. | |
| 404 Not Found | Es gibt keine gespeicherten Einstellungen für das aktive Konto. | |
| 503 Service Unavailable | ”internalError” | Das Speichern ist fehlgeschlagen. |
