API-Referenz Benutzerverwaltung
Die API-Referenz Benutzerverwaltung beschreibt Endpunkte zur Verwaltung von Benutzerkonten und individuellen Einstellungen im Admin Interface des Shops.
Über die Schnittstelle lassen sich Benutzer anlegen, bearbeiten und löschen sowie persönliche Einstellungen wie Sprache oder Dashboard-Konfiguration abrufen und aktualisieren. Der Zugriff auf die jeweiligen Endpunkte richtet sich nach den Berechtigungen des angemeldeten Benutzers.
Inhaltsverzeichnis:
1. Unterstützte Methoden
Angabe aller unterstützten Methoden.
Befehl/Info | Endpunkte | GET | PUT | POST | DELETE |
|---|---|---|---|---|---|
admin/user |
| ||||
admin/settings |
2. Allgemein
2.1 Datenfelder eines Benutzerkontos
Name | Typ |
|
|---|---|---|
id | Integer | Eindeutige ID des Benutzers |
firstName | String | Vorname des Benutzers |
lastName | String | Nachname des Benutzers |
role | String | Position im Unternehmen, z.B. Content Creator, Marketing, SEO etc. |
String | E-Mail-Adresse des Benutzers | |
permissions | Objekt | Berechtigungen des Benutzers für Dienste |
Beispiel:
{
"email": "vx-shop@websale.de",
"firstName": "Horst",
"id": 1,
"lastName": "Schlämmer",
"permissions": {
"admin": {
"0": true
}
},
"role": "productMaintainer"
}
2.2 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 |
Beispiel:
{
"dashboard": {
"content": [
{
"position": {
"cols": 3,
"rows": 4,
"x": 0,
"y": 0
},
"settings": {},
"widgetId": "salesTrend"
},
{
"position": {
"cols": 3,
"rows": 2,
"x": 0,
"y": 4
},
"settings": {},
"widgetId": "inbox"
},
{
"position": {
"cols": 2,
"rows": 3,
"x": 3,
"y": 0
},
"settings": {},
"widgetId": "conversion-rate-trends"
},
{
"position": {
"cols": 2,
"rows": 5,
"x": 3,
"y": 3
},
"settings": {
"shortcuts": [
{
"label": "Zu Kategorien",
"route": "/categories"
},
{
"label": "Zu Produkten",
"route": "/products"
},
{
"label": "Zu Bestellungen",
"route": "/orders"
}
]
},
"widgetId": "shortcuts"
}
]
},
"firstName": "Horst",
"language": "deu",
"lastName": "Schlämmer"
}
2.3 Berechtigungen
Technischer Name | Bedeutung | Werte |
|---|---|---|
| Vollzugriff auf alle Bereiche |
|
| Produkte |
|
| Produktvarianten |
|
| Produktbewertungen |
|
| Produkte Lagerbestand |
|
| Produktfelder |
|
| Kategorien |
|
| Kategoriefelder |
|
| Konfigurationen |
|
| SEO |
|
| SiteMaps |
|
| Datenfeeds |
|
| Bestellungen |
|
| Anfragen |
|
| Textbausteine |
|
| Shop-Seiten-Templates |
|
| Kundendaten |
|
| Gutscheine |
|
| Transaktionen |
|
| Key-Value-Store |
|
| Newsletter |
|
| Newsletter-Blacklist |
|
| Alle Statistiken |
|
| Logs |
|
| Link zum Strapi-CMS |
|
| Dashboard im AI |
|
| Bildkonverter |
|
| Paypal-Onboarding |
|
| Payment provider |
|
Beispiel der Berechtigungen:
"permissions": {
"admin": {
"0": false
},
"newsletter": {
"0": true,
"1": true,
"2": true,
"3": true
},
"customerAccounts": {
"0": true,
"1": false,
"2": false,
"3": false
},
"products": {
"0": true,
"1": false,
"2": false,
"3": false,
"4": false
}
}Der Benutzer hat keinen Vollzugriff (die Berechtigung 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.
3. 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.
3.1 GET admin/user
Dieser Endpunkt liefert eine Liste aller Benutzerkonten aus dem Admin Interface des Shops.
Beispiel:
https://www.<ihr-shop>.de/admin/api/v1/admin/userAntwort:
{
"endReached": true,
"items": [
{
"id": "",
"role": "",
"firstName": "",
"lastName": "",
"email": "",
"permissions": {...}
},
...
],
"nextPageToken": "NA",
"totalCount": 5
}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" |
|
400 Bad Request | "syntaxError" |
|
3.2 GET admin/user/self
Dieser Endpunkt lädt die Daten des aktuell angemeldeten Benutzerkontos.
Beispiel:
https://www.<ihr-shop>.de/admin/api/v1/admin/user/selfAntwort:
{
"email": "m.mustermann@websale.de",
"firstName": "Max",
"id": 1,
"lastName": "Mustermann",
"permissions": {
"admin": {
"0": false
},
"newsletter": {
"0": true,
"1": true,
"2": true,
"3": true
}
},
"role": "marketing"
}Fehlercodes:
Fehler | Typ | Grund |
|---|---|---|
401 Unauthorized |
| Nicht autorisiert: Sie sind nicht angemeldet. |
404 Not Found |
| Das Konto wurde in der Datenbank nicht gefunden. |
3.3 GET admin/user/{accountId}
Dieser Endpunkt lädt die Daten eines bestimmten Benutzerkontos anhand der accountId.
Beispiel:
https://www.<ihr-shop>.de/admin/api/v1/admin/user/123456Antwort:
{
"email": "m.mustermann@websale.de",
"firstName": "Max",
"id": 1,
"lastName": "Mustermann",
"permissions": {
"admin": {
"0": false
},
"newsletter": {
"0": true,
"1": true,
"2": true,
"3": true
}
},
"role": "marketing"
}Fehlercodes:
Fehler | Typ | Grund |
|---|---|---|
© 2025 WEBSALE AG | Impressum | Datenschutz