Zum Hauptinhalt springen
Version: 1.x

Rollen-Endpunkt-Zugriff

Diese Seite dokumentiert, welche WCPOS-REST-Endpunkte für jede der drei Standardrollen zugänglich sind, die in POS-Workflows verwendet werden:

  • administrator
  • shop_manager
  • cashier

Für die benutzerseitige Konfiguration von Rollen und Fähigkeiten siehe Zugriff auf das POS.

Zusammenfassung

Das Standard-Zugriffsmodell ist:

  • administrator — voller POS- und Verwaltungszugriff.
  • shop_manager — voller POS- und Verwaltungszugriff, mit Ausnahme von Plugin-Erweiterungsaktionen, die Plugin-Installationsfähigkeiten erfordern.
  • cashier — normaler POS-Verkaufsworkflow-Zugriff, aber kein Zugriff auf Verwaltung, Einstellungen, Protokolle oder Filialadministration.

Die Endpunktmatrix wird durch Integrationstests verifiziert, die denselben Authentifizierungspfad wie die POS-App durchlaufen (WCPOS-Bearer-Zugriffstoken, nicht nur wp_set_current_user()). Die Assertions für erlaubte Endpunkte bestätigen, dass eine Rolle kein 401 oder 403 erhält. Einige Endpunkte können dennoch normale Daten oder geschäftliche Fehler wie 400 oder 404 zurückgeben, wenn der Test minimale Fixtures verwendet — diese Antworten beweisen dennoch, dass der Benutzer die Authentifizierungs-/Berechtigungsebene passiert hat.

Endpunkt-Zugriffsmatrix des kostenlosen Plugins

BereichEndpunkt-BeispieleAdminShop-ManagerKassiererHinweise
EinstellungsindexGET /wcpos/v1/settingsÖffentlich/lesbarer POS-Einstellungsindex
FilialenGET /wcpos/v1/storesPOS-Boot-Daten
KassiererprofilGET /wcpos/v1/cashier/{id}Eigene Kassiererdaten
KassiererfilialenGET /wcpos/v1/cashier/{id}/storesFilialzugriff für den aktuellen Kassierer
ProdukteGET /wcpos/v1/productsKatalog durchsuchen
VariationenGET /wcpos/v1/products/variationsKatalog durchsuchen
KategorienGET /wcpos/v1/products/categoriesKatalogfilter
TagsGET /wcpos/v1/products/tagsKatalogfilter
MarkenGET /wcpos/v1/products/brandsKatalogfilter
GutscheineGET /wcpos/v1/couponsPOS-Gutscheinsuche
Bestellungen lesenGET /wcpos/v1/ordersPOS-Bestellverlauf
Bestellungen erstellenPOST /wcpos/v1/ordersVerkaufsworkflow
Bestellungen aktualisierenPATCH /wcpos/v1/orders/{id}POS-Bestellungen abschließen/aktualisieren
Checkout lesen/erstellen/wcpos/v1/orders/{id}/checkoutZahlungsablauf
BelegeGET /wcpos/v1/receipts/{order_id}Belegrendering
BestellstatusGET /wcpos/v1/data/order_statusesPOS-Statusdaten
Kunden lesenGET /wcpos/v1/customersKundensuche/-liste
Kunden erstellenPOST /wcpos/v1/customersKunden im POS erstellen
Kunden aktualisierenPATCH /wcpos/v1/customers/{id}Kunden im POS bearbeiten
SteuernGET /wcpos/v1/taxesDaten für Checkout/Steuerberechnung
SteuerklassenGET /wcpos/v1/taxes/classesDaten für Checkout/Steuerberechnung
VersandmethodenGET /wcpos/v1/shipping_methodsCheckout-/Versanddaten
ZahlungsgatewaysGET /wcpos/v1/payment-gatewaysZahlungsoptionen
Gateway-BootstrapPOST /wcpos/v1/payment-gateways/{id}/bootstrapZahlungseinrichtung
VorlagenGET /wcpos/v1/templatesBeleg-/Vorlagenlesevorgänge
Aktive VorlageGET /wcpos/v1/templates/activeBeleg-/Vorlagenlesevorgänge
VorlagengalerieGET /wcpos/v1/templates/galleryVorlagenlesevorgänge
Allgemeine EinstellungenGET /wcpos/v1/settings/generalNur Verwaltung
Checkout-EinstellungenGET /wcpos/v1/settings/checkoutNur Verwaltung
Steuer-ID-EinstellungenGET /wcpos/v1/settings/tax_idsNur Verwaltung
Zahlungsgateway-EinstellungenGET /wcpos/v1/settings/payment-gatewaysNur Verwaltung
Erweiterungskatalog/-adminGET /wcpos/v1/extensionsNur Verwaltung
ProtokolleGET /wcpos/v1/logsNur Verwaltung

Endpunkt-Zugriffsmatrix des Pro-Plugins

BereichEndpunkt-BeispieleAdminShop-ManagerKassiererHinweise
Filial-BearbeitungsdatenGET /wcpos/v1/stores/{id}/editFilialverwaltung
Filiale erstellenPOST /wcpos/v1/storesFilialverwaltung
Filiale aktualisierenPATCH /wcpos/v1/stores/{id}Filialverwaltung
Lizenzeinstellungen aktualisierenPOST /wcpos/v1/settings/licensePro-Verwaltung
ErweiterungsaktionenPOST /wcpos/v1/extensions/actionErfordert Plugin-Installations-/Verwaltungsfähigkeit
BestellerstattungenPOST /wcpos/v1/orders/{id}/refundsWird als POS-Vorgang behandelt

Abdeckung des Token-Ablaufs

SzenarioAdminShop-ManagerKassiererErwartetes Ergebnis
Gültiges Zugriffstoken✅ getestet✅ getestet✅ getestetErlaubte Endpunkte geben kein 401 oder 403 zurück
Abgelaufenes Zugriffstoken✅ getestet✅ getestet✅ getestetAnfrage schlägt am WCPOS-Auth-Gate mit Benutzer 0 fehl
Gültiges Refresh-Token nach abgelaufenem Zugriff✅ getestet✅ getestet✅ getestetNeues Zugriffstoken wird ausgestellt und der Zugriff wird wiederhergestellt
Abgelaufenes Refresh-Token✅ getestet✅ getestet✅ getestetEs kann kein neues Zugriffstoken erzeugt werden

Fehler diagnostizieren

Wenn ein Standard-shop_manager einen Fehler wie diesen sieht:

Request still unauthorized after token refresh - please log in again

zeigt die Endpunktmatrix, dass dies nicht daran liegt, dass der Standardrolle shop_manager grundsätzlich der POS-Zugriff fehlt. Wahrscheinliche Ursachen, die untersucht werden sollten:

  1. Standortspezifische Beschädigung von Rollen/Fähigkeiten.
  2. Ein Endpunkt, der nicht von der Matrix abgedeckt wird.
  3. Verhalten beim Wiederholen veralteter oder abgelaufener Zugriffstoken im Client.
  4. Interferenz durch ein Sicherheits- oder Authentifizierungs-Plugin eines Drittanbieters.
  5. Pro- oder filialspezifische Zugriffsregeln oder benutzerdefinierter Code.

Berechtigungsfehler vs. Token-Fehler

Das POS-Frontend zeigt möglicherweise für beide Fälle dieselbe Token-Aktualisierungsfehlermeldung an, nachdem es ein 401 oder 403 erhalten, einen Token-Refresh versucht hat und der Wiederholungsversuch immer noch nicht autorisiert war. Die beiden Fehlermodi sehen auf der Serverseite unterschiedlich aus:

Ein echter Rollen-/Fähigkeitsfehler sieht in der Regel so aus:

status: 403
current_user: <actual user id>
access token expired: false

Ein Token-/Auth-Fehler sieht in der Regel so aus:

status: 403
current_user: 0
access token expired: true or invalid

Verwenden Sie diese Unterscheidung beim Eingrenzen von POS-Zugriffsproblemen — ein current_user ungleich null deutet auf Fähigkeiten hin, während current_user: 0 auf die Auth-/Token-Ebene hinweist.