Ga naar de hoofdinhoud
Versie: 1.x

Endpoint-toegang per rol

Deze pagina documenteert welke WCPOS REST-endpoints toegankelijk zijn voor elk van de drie standaardrollen die in POS-workflows worden gebruikt:

  • administrator
  • shop_manager
  • cashier

Voor configuratie van rollen en capabilities gericht op gebruikers, zie Toegang tot de POS.

Samenvatting​

Het standaard toegangsmodel is:

  • administrator — volledige POS- en beheertoegang.
  • shop_manager — volledige POS- en beheertoegang, behalve plug-in-uitbreidingsacties die capabilities voor plug-in-installatie vereisen.
  • cashier — toegang tot de normale POS-verkoopworkflow, maar geen toegang tot beheer, instellingen, logs of winkelbeheer.

De endpoint-matrix wordt geverifieerd door integratietests die hetzelfde authenticatiepad doorlopen als de POS-app (WCPOS bearer-toegangstokens, niet alleen wp_set_current_user()). Asserties voor toegestane endpoints bevestigen dat een rol geen 401 of 403 ontvangt. Sommige endpoints kunnen nog steeds normale gegevens of bedrijfsfouten zoals 400 of 404 retourneren wanneer de test minimale fixtures gebruikt — die responses bewijzen nog steeds dat de gebruiker de auth-/permissielaag is gepasseerd.

Endpoint-toegangsmatrix gratis plug-in​

GebiedEndpoint-voorbeeldenAdminShop ManagerCashierOpmerkingen
InstellingenindexGET /wcpos/v1/settings✅✅✅Openbare/leesbare POS-instellingenindex
StoresGET /wcpos/v1/stores✅✅✅POS-bootgegevens
KassiersprofielGET /wcpos/v1/cashier/{id}✅✅✅Eigen kassiersgegevens
KassierswinkelsGET /wcpos/v1/cashier/{id}/stores✅✅✅Winkeltoegang voor huidige kassier
ProductenGET /wcpos/v1/products✅✅✅Catalogus bladeren
VariatiesGET /wcpos/v1/products/variations✅✅✅Catalogus bladeren
CategorieënGET /wcpos/v1/products/categories✅✅✅Catalogusfilters
TagsGET /wcpos/v1/products/tags✅✅✅Catalogusfilters
BrandsGET /wcpos/v1/products/brands✅✅✅Catalogusfilters
CouponsGET /wcpos/v1/coupons✅✅✅POS-couponopzoeking
Bestellingen lezenGET /wcpos/v1/orders✅✅✅POS-bestelgeschiedenis
Bestellingen aanmakenPOST /wcpos/v1/orders✅✅✅Verkoopworkflow
Bestellingen bijwerkenPATCH /wcpos/v1/orders/{id}✅✅✅POS-bestellingen voltooien/bijwerken
Checkout lezen/aanmaken/wcpos/v1/orders/{id}/checkout✅✅✅Betalingsflow
BonnenGET /wcpos/v1/receipts/{order_id}✅✅✅Bonweergave
BestelstatussenGET /wcpos/v1/data/order_statuses✅✅✅POS-statusgegevens
Klanten lezenGET /wcpos/v1/customers✅✅✅Klanten zoeken/weergeven
Klanten aanmakenPOST /wcpos/v1/customers✅✅✅Klant aanmaken in POS
Klanten bijwerkenPATCH /wcpos/v1/customers/{id}✅✅✅Klant bewerken in POS
BelastingenGET /wcpos/v1/taxes✅✅✅Gegevens voor checkout-/belastingberekening
BelastingklassenGET /wcpos/v1/taxes/classes✅✅✅Gegevens voor checkout-/belastingberekening
VerzendmethodenGET /wcpos/v1/shipping_methods✅✅✅Checkout-/verzendgegevens
BetaalgatewaysGET /wcpos/v1/payment-gateways✅✅✅Betalingsopties
Gateway-bootstrapPOST /wcpos/v1/payment-gateways/{id}/bootstrap✅✅✅Betalingsconfiguratie
SjablonenGET /wcpos/v1/templates✅✅✅Bon-/sjabloonleesacties
Actief sjabloonGET /wcpos/v1/templates/active✅✅✅Bon-/sjabloonleesacties
SjabloongalerijGET /wcpos/v1/templates/gallery✅✅✅Sjabloonleesacties
Algemene instellingenGET /wcpos/v1/settings/general✅✅❌Alleen-beheer
Checkout-instellingenGET /wcpos/v1/settings/checkout✅✅❌Alleen-beheer
Belasting-ID-instellingenGET /wcpos/v1/settings/tax_ids✅✅❌Alleen-beheer
Instellingen betaalgatewaysGET /wcpos/v1/settings/payment-gateways✅✅❌Alleen-beheer
Uitbreidingencatalogus/-beheerGET /wcpos/v1/extensions✅✅❌Alleen-beheer
LogsGET /wcpos/v1/logs✅✅❌Alleen-beheer

Endpoint-toegangsmatrix Pro-plug-in​

GebiedEndpoint-voorbeeldenAdminShop ManagerCashierOpmerkingen
WinkelbewerkingsgegevensGET /wcpos/v1/stores/{id}/edit✅✅❌Winkelbeheer
Winkel aanmakenPOST /wcpos/v1/stores✅✅❌Winkelbeheer
Winkel bijwerkenPATCH /wcpos/v1/stores/{id}✅✅❌Winkelbeheer
Licentie-instellingen bijwerkenPOST /wcpos/v1/settings/license✅✅❌Pro-beheer
UitbreidingsactiesPOST /wcpos/v1/extensions/action✅❌❌Vereist capability voor plug-in installeren/beheren
BestelrestitutiesPOST /wcpos/v1/orders/{id}/refunds✅✅✅Behandeld als POS-bewerking

Dekking tokenverloop​

ScenarioAdminShop ManagerCashierVerwacht resultaat
Geldig toegangstoken✅ getest✅ getest✅ getestToegestane endpoints retourneren geen 401 of 403
Verlopen toegangstoken✅ getest✅ getest✅ getestVerzoek faalt bij de WCPOS-auth-gate met gebruiker 0
Geldig vernieuwingstoken na verlopen toegang✅ getest✅ getest✅ getestEr wordt een nieuw toegangstoken uitgegeven en de toegang wordt hersteld
Verlopen vernieuwingstoken✅ getest✅ getest✅ getestKan geen nieuw toegangstoken aanmaken

Fouten diagnosticeren​

Als een standaard shop_manager een fout ziet zoals:

Request still unauthorized after token refresh - please log in again

Geeft de endpoint-matrix aan dat dit niet komt doordat de standaard shop_manager-rol fundamenteel geen POS-toegang heeft. Waarschijnlijke oorzaken om te onderzoeken:

  1. Sitespecifieke corruptie van rollen/capabilities.
  2. Een endpoint dat niet door de matrix wordt gedekt.
  3. Verouderd of verlopen retry-gedrag voor toegangstokens in de client.
  4. Verstoring door een beveiligings- of authenticatieplug-in van een derde partij.
  5. Pro- of winkelspecifieke toegangsregels, of aangepaste code.

Permissiefout vs. tokenfout​

De POS-frontend kan dezelfde token-refresh-fout weergeven voor beide gevallen, nadat hij een 401 of 403 ontvangt, een token-refresh probeert en de retry nog steeds niet geautoriseerd is. De twee soorten fouten zien er aan de serverkant anders uit:

Een echte rol-/capabilityfout ziet er meestal zo uit:

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

Een token-/authfout ziet er meestal zo uit:

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

Gebruik dit onderscheid bij het triëren van POS-toegangsproblemen — een current_user die niet nul is wijst op capabilities, terwijl current_user: 0 op de auth-/tokenlaag wijst.