Salta al contenuto principale
Versione: 1.x

Accesso agli endpoint per ruolo

Questa pagina documenta quali endpoint REST di WCPOS sono accessibili a ciascuno dei tre ruoli predefiniti utilizzati nei flussi di lavoro del POS:

  • administrator
  • shop_manager
  • cashier

Per la configurazione dei ruoli e delle capacità rivolta agli utenti, vedi Accesso al POS.

Riepilogo​

Il modello di accesso predefinito è:

  • administrator — accesso completo al POS e alla gestione.
  • shop_manager — accesso completo al POS e alla gestione, ad eccezione delle azioni di estensione del plugin che richiedono capacità di installazione dei plugin.
  • cashier — accesso al normale flusso di vendita del POS, ma nessun accesso alla gestione, alle impostazioni, ai log o all'amministrazione del negozio.

La matrice degli endpoint è verificata da test di integrazione che esercitano lo stesso percorso di autenticazione dell'app POS (token di accesso bearer WCPOS, non solo wp_set_current_user()). Le asserzioni sugli endpoint consentiti confermano che un ruolo non riceve 401 o 403. Alcuni endpoint possono comunque restituire dati normali o errori di business come 400 o 404 quando il test usa fixture minimali — quelle risposte dimostrano comunque che l'utente ha superato il livello di autenticazione/permessi.

Matrice di accesso agli endpoint del plugin gratuito​

AreaEsempi di endpointAdminShop ManagerCashierNote
Indice impostazioniGET /wcpos/v1/settings✅✅✅Indice delle impostazioni POS pubbliche/leggibili
NegoziGET /wcpos/v1/stores✅✅✅Dati di avvio del POS
Profilo cassiereGET /wcpos/v1/cashier/{id}✅✅✅Dati del proprio cassiere
Negozi del cassiereGET /wcpos/v1/cashier/{id}/stores✅✅✅Accesso ai negozi per il cassiere corrente
ProdottiGET /wcpos/v1/products✅✅✅Navigazione del catalogo
VariazioniGET /wcpos/v1/products/variations✅✅✅Navigazione del catalogo
CategorieGET /wcpos/v1/products/categories✅✅✅Filtri del catalogo
TagGET /wcpos/v1/products/tags✅✅✅Filtri del catalogo
MarchiGET /wcpos/v1/products/brands✅✅✅Filtri del catalogo
CouponGET /wcpos/v1/coupons✅✅✅Ricerca coupon nel POS
Lettura ordiniGET /wcpos/v1/orders✅✅✅Cronologia ordini del POS
Creazione ordiniPOST /wcpos/v1/orders✅✅✅Flusso di vendita
Aggiornamento ordiniPATCH /wcpos/v1/orders/{id}✅✅✅Completamento/aggiornamento degli ordini POS
Lettura/creazione checkout/wcpos/v1/orders/{id}/checkout✅✅✅Flusso di pagamento
RicevuteGET /wcpos/v1/receipts/{order_id}✅✅✅Rendering delle ricevute
Stati degli ordiniGET /wcpos/v1/data/order_statuses✅✅✅Dati sugli stati del POS
Lettura clientiGET /wcpos/v1/customers✅✅✅Ricerca/elenco clienti
Creazione clientiPOST /wcpos/v1/customers✅✅✅Crea cliente nel POS
Aggiornamento clientiPATCH /wcpos/v1/customers/{id}✅✅✅Modifica cliente nel POS
TasseGET /wcpos/v1/taxes✅✅✅Dati di calcolo checkout/tasse
Classi di tasseGET /wcpos/v1/taxes/classes✅✅✅Dati di calcolo checkout/tasse
Metodi di spedizioneGET /wcpos/v1/shipping_methods✅✅✅Dati checkout/spedizione
Gateway di pagamentoGET /wcpos/v1/payment-gateways✅✅✅Opzioni di pagamento
Bootstrap gatewayPOST /wcpos/v1/payment-gateways/{id}/bootstrap✅✅✅Configurazione del pagamento
ModelliGET /wcpos/v1/templates✅✅✅Letture ricevute/modelli
Modello attivoGET /wcpos/v1/templates/active✅✅✅Letture ricevute/modelli
Galleria modelliGET /wcpos/v1/templates/gallery✅✅✅Letture dei modelli
Impostazioni generaliGET /wcpos/v1/settings/general✅✅❌Solo gestione
Impostazioni checkoutGET /wcpos/v1/settings/checkout✅✅❌Solo gestione
Impostazioni ID fiscaliGET /wcpos/v1/settings/tax_ids✅✅❌Solo gestione
Impostazioni gateway di pagamentoGET /wcpos/v1/settings/payment-gateways✅✅❌Solo gestione
Catalogo/admin estensioniGET /wcpos/v1/extensions✅✅❌Solo gestione
LogGET /wcpos/v1/logs✅✅❌Solo gestione

Matrice di accesso agli endpoint del plugin Pro​

AreaEsempi di endpointAdminShop ManagerCashierNote
Dati di modifica del negozioGET /wcpos/v1/stores/{id}/edit✅✅❌Gestione del negozio
Creazione negozioPOST /wcpos/v1/stores✅✅❌Gestione del negozio
Aggiornamento negozioPATCH /wcpos/v1/stores/{id}✅✅❌Gestione del negozio
Aggiornamento impostazioni licenzaPOST /wcpos/v1/settings/license✅✅❌Gestione Pro
Azioni estensionePOST /wcpos/v1/extensions/action✅❌❌Richiede la capacità di installare/gestire i plugin
Rimborsi ordiniPOST /wcpos/v1/orders/{id}/refunds✅✅✅Trattato come operazione POS

Copertura della scadenza dei token​

ScenarioAdminShop ManagerCashierRisultato atteso
Token di accesso valido✅ testato✅ testato✅ testatoGli endpoint consentiti non restituiscono 401 o 403
Token di accesso scaduto✅ testato✅ testato✅ testatoLa richiesta fallisce al gate di autenticazione WCPOS con utente 0
Token di aggiornamento valido dopo accesso scaduto✅ testato✅ testato✅ testatoViene emesso un nuovo token di accesso e l'accesso viene ripristinato
Token di aggiornamento scaduto✅ testato✅ testato✅ testatoImpossibile generare un nuovo token di accesso

Diagnosi dei guasti​

Se un shop_manager predefinito vede un errore come:

Request still unauthorized after token refresh - please log in again

La matrice degli endpoint indica che questo non è dovuto al fatto che il ruolo shop_manager predefinito manchi fondamentalmente dell'accesso al POS. Cause probabili da investigare:

  1. Corruzione di ruoli/capacità specifica del sito.
  2. Un endpoint non coperto dalla matrice.
  3. Comportamento di ritentativo con token di accesso obsoleto o scaduto nel client.
  4. Interferenza di plugin di sicurezza o autenticazione di terze parti.
  5. Regole di accesso Pro o specifiche del negozio, oppure codice personalizzato.

Errore di permesso vs. errore di token​

Il frontend del POS può mostrare lo stesso errore di aggiornamento del token per entrambi i casi dopo aver ricevuto un 401 o 403, aver tentato un aggiornamento del token e aver constatato che il ritentativo è ancora non autorizzato. Le due modalità di errore appaiono diverse sul lato server:

Un vero errore di ruolo/capacità di solito appare così:

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

Un errore di token/autenticazione di solito appare così:

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

Usa questa distinzione quando valuti i problemi di accesso al POS — un current_user diverso da zero indica le capacità, mentre current_user: 0 indica il livello di autenticazione/token.