API-Referenz Benutzerverwaltung

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

Befehl/Info

Endpunkte

GET

PUT

POST

DELETE

Benutzerkonto im Admin-Bereich

admin/user

Benutzereinstellungen

admin/settings

2. Allgemein

2.1 Datenfelder eines Benutzerkontos

Name

Typ

 

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.

email

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

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

Technischer Name

Bedeutung

Werte

"admin"

Vollzugriff auf alle Bereiche

0 = Active

"products"

Produkte

0 = Read
1 = Write
2 = Create
3 = Delete
4 = WriteProtectedFields

"productvariants"

Produktvarianten

0 = Read
1 = Write
2 = Create
3 = Delete

"productRatings"

Produktbewertungen

0 = Read
1 = Write
2 = Create
3 = Delete

"inventory"

Produkte Lagerbestand

0 = Read
1 = Write
2 = Create
3 = Delete

"productFields"

Produktfelder

0 = Read
1 = Write
2 = Create
3 = Delete

"categories"

Kategorien

0 = Read
1 = Write
2 = Create
3 = Delete

"categoryFields"

Kategoriefelder

0 = Read
1 = Write
2 = Create
3 = Delete

"configuration"

Konfigurationen

0 = Read
1 = Write
2 = Create
3 = Delete

"seo"

SEO

0 = Read
1 = Write
2 = Create
3 = Delete

"sitemaps"

SiteMaps

0 = Read
1 = Create
2 = Write
3 = Delete
4 = Publish

"datafeeds"

Datenfeeds

0 = Read
1 = Write
2 = Create
3 = Delete
4 = Publish

"orders"

Bestellungen

0 = Read
1 = Write
2 = Delete

"inquiries"

Anfragen

0 = Read
1 = Write
2 = Delete

"texts"

Textbausteine

0 = Read
1 = Write
2 = Create
3 = Delete
4 = Publish

"templates"

Shop-Seiten-Templates

0 = Read
4 = Publish

"customerAccounts"

Kundendaten

0 = Read
1 = Write
2 = Create
3 = Delete

"vouchers"

Gutscheine

0 = Read
1 = Write
2 = Create
3 = Delete

"transactions"

Transaktionen

0 = Read
1 = Write

"keyValue"

Key-Value-Store

0 = Read
1 = Write
2 = Create
3 = Delete

"newsletter"

Newsletter

0 = Read
1 = Write
2 = Create
3 = Delete

"blacklist"

Newsletter-Blacklist

0 = Add
1 = Remove

"statistics"

Alle Statistiken

0 = Read

"logs"

Logs

0 = Read
1 = Write
2 = Create
3 = Delete

"strapi"

Link zum Strapi-CMS

0 = Read

"dashboard"

Dashboard im AI

0 = Read

"imageconverter"

Bildkonverter

0 = Read
1 = Write
2 = Create
3 = Delete
4 = Publish

"paypalonboarding"

Paypal-Onboarding

0 = Read
1 = Write
2 = Create
3 = Delete

"paymentprovider"

Payment provider

0 = Read
1 = Write
2 = Create
3 = Delete

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/user

Antwort:

{ "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

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"

size ∉ [1;300]
sort ∉ {"asc", "desc"}
pageToken ist keine Zahl oder kleiner als 0.

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 ":".

 

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/self

Antwort:

{ "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

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/123456

Antwort:

{ "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

Fehler

Typ

Grund

© 2025 WEBSALE AG | Impressum | Datenschutz