Acesso a Endpoints por Função
Esta página documenta quais endpoints REST do WCPOS são acessíveis a cada uma das três funções padrão usadas nos fluxos de trabalho do POS:
administratorshop_managercashier
Para a configuração de funções e capacidades voltada ao usuário, consulte Acessando o POS.
Resumo
O modelo de acesso padrão é:
administrator— acesso total ao POS e à gestão.shop_manager— acesso total ao POS e à gestão, exceto ações de extensão de plugin que exigem capacidades de instalação de plugin.cashier— acesso ao fluxo de trabalho normal de vendas do POS, mas sem acesso à gestão, configurações, logs ou administração da loja.
A matriz de endpoints é verificada por testes de integração que exercitam o mesmo caminho de autenticação do aplicativo POS (tokens de acesso bearer do WCPOS, não apenas wp_set_current_user()). As asserções de endpoints permitidos confirmam que uma função não recebe 401 ou 403. Alguns endpoints ainda podem retornar dados normais ou erros de negócio como 400 ou 404 quando o teste usa fixtures mínimas — essas respostas ainda comprovam que o usuário passou pela camada de autenticação/permissão.
Matriz de Acesso a Endpoints do Plugin Gratuito
| Área | Exemplos de endpoint | Admin | Shop Manager | Cashier | Notas |
|---|---|---|---|---|---|
| Índice de configurações | GET /wcpos/v1/settings | ✅ | ✅ | ✅ | Índice de configurações públicas/legíveis do POS |
| Lojas | GET /wcpos/v1/stores | ✅ | ✅ | ✅ | Dados de inicialização do POS |
| Perfil do caixa | GET /wcpos/v1/cashier/{id} | ✅ | ✅ | ✅ | Dados do próprio caixa |
| Lojas do caixa | GET /wcpos/v1/cashier/{id}/stores | ✅ | ✅ | ✅ | Acesso às lojas para o caixa atual |
| Produtos | GET /wcpos/v1/products | ✅ | ✅ | ✅ | Navegação no catálogo |
| Variações | GET /wcpos/v1/products/variations | ✅ | ✅ | ✅ | Navegação no catálogo |
| Categorias | GET /wcpos/v1/products/categories | ✅ | ✅ | ✅ | Filtros de catálogo |
| Tags | GET /wcpos/v1/products/tags | ✅ | ✅ | ✅ | Filtros de catálogo |
| Marcas | GET /wcpos/v1/products/brands | ✅ | ✅ | ✅ | Filtros de catálogo |
| Cupons | GET /wcpos/v1/coupons | ✅ | ✅ | ✅ | Consulta de cupons no POS |
| Leitura de pedidos | GET /wcpos/v1/orders | ✅ | ✅ | ✅ | Histórico de pedidos do POS |
| Criação de pedidos | POST /wcpos/v1/orders | ✅ | ✅ | ✅ | Fluxo de vendas |
| Atualização de pedidos | PATCH /wcpos/v1/orders/{id} | ✅ | ✅ | ✅ | Concluindo/atualizando pedidos do POS |
| Leitura/criação de checkout | /wcpos/v1/orders/{id}/checkout | ✅ | ✅ | ✅ | Fluxo de pagamento |
| Recibos | GET /wcpos/v1/receipts/{order_id} | ✅ | ✅ | ✅ | Renderização de recibo |
| Status de pedidos | GET /wcpos/v1/data/order_statuses | ✅ | ✅ | ✅ | Dados de status do POS |
| Leitura de clientes | GET /wcpos/v1/customers | ✅ | ✅ | ✅ | Busca/lista de clientes |
| Criação de clientes | POST /wcpos/v1/customers | ✅ | ✅ | ✅ | Criar cliente no POS |
| Atualização de clientes | PATCH /wcpos/v1/customers/{id} | ✅ | ✅ | ✅ | Editar cliente no POS |
| Impostos | GET /wcpos/v1/taxes | ✅ | ✅ | ✅ | Dados de cálculo de checkout/imposto |
| Classes de imposto | GET /wcpos/v1/taxes/classes | ✅ | ✅ | ✅ | Dados de cálculo de checkout/imposto |
| Métodos de envio | GET /wcpos/v1/shipping_methods | ✅ | ✅ | ✅ | Dados de checkout/envio |
| Gateways de pagamento | GET /wcpos/v1/payment-gateways | ✅ | ✅ | ✅ | Opções de pagamento |
| Bootstrap de gateway | POST /wcpos/v1/payment-gateways/{id}/bootstrap | ✅ | ✅ | ✅ | Configuração de pagamento |
| Modelos | GET /wcpos/v1/templates | ✅ | ✅ | ✅ | Leituras de recibo/modelo |
| Modelo ativo | GET /wcpos/v1/templates/active | ✅ | ✅ | ✅ | Leituras de recibo/modelo |
| Galeria de modelos | GET /wcpos/v1/templates/gallery | ✅ | ✅ | ✅ | Leituras de modelo |
| Configurações gerais | GET /wcpos/v1/settings/general | ✅ | ✅ | ❌ | Apenas gestão |
| Configurações de checkout | GET /wcpos/v1/settings/checkout | ✅ | ✅ | ❌ | Apenas gestão |
| Configurações de Tax ID | GET /wcpos/v1/settings/tax_ids | ✅ | ✅ | ❌ | Apenas gestão |
| Configurações de gateway de pagamento | GET /wcpos/v1/settings/payment-gateways | ✅ | ✅ | ❌ | Apenas gestão |
| Catálogo/admin de extensões | GET /wcpos/v1/extensions | ✅ | ✅ | ❌ | Apenas gestão |
| Logs | GET /wcpos/v1/logs | ✅ | ✅ | ❌ | Apenas gestão |
Matriz de Acesso a Endpoints do Plugin Pro
| Área | Exemplos de endpoint | Admin | Shop Manager | Cashier | Notas |
|---|---|---|---|---|---|
| Dados de edição de loja | GET /wcpos/v1/stores/{id}/edit | ✅ | ✅ | ❌ | Gestão de loja |
| Criação de loja | POST /wcpos/v1/stores | ✅ | ✅ | ❌ | Gestão de loja |
| Atualização de loja | PATCH /wcpos/v1/stores/{id} | ✅ | ✅ | ❌ | Gestão de loja |
| Atualização de configurações de licença | POST /wcpos/v1/settings/license | ✅ | ✅ | ❌ | Gestão Pro |
| Ações de extensão | POST /wcpos/v1/extensions/action | ✅ | ❌ | ❌ | Requer capacidade de instalar/gerenciar plugin |
| Reembolsos de pedidos | POST /wcpos/v1/orders/{id}/refunds | ✅ | ✅ | ✅ | Tratado como operação do POS |
Cobertura de Expiração de Token
| Cenário | Admin | Shop Manager | Cashier | Resultado esperado |
|---|---|---|---|---|
| Token de acesso válido | ✅ testado | ✅ testado | ✅ testado | Endpoints permitidos não retornam 401 ou 403 |
| Token de acesso expirado | ✅ testado | ✅ testado | ✅ testado | A solicitação falha no gate de autenticação do WCPOS com usuário 0 |
| Token de atualização válido após acesso expirado | ✅ testado | ✅ testado | ✅ testado | Um novo token de acesso é emitido e o acesso é restaurado |
| Token de atualização expirado | ✅ testado | ✅ testado | ✅ testado | Não é possível gerar um novo token de acesso |
Diagnosticando Falhas
Se um shop_manager padrão vê um erro como:
Request still unauthorized after token refresh - please log in again
A matriz de endpoints indica que isso não é porque a função shop_manager padrão fundamentalmente carece de acesso ao POS. Causas prováveis a investigar:
- Corrupção de função/capacidade específica do site.
- Um endpoint não coberto pela matriz.
- Comportamento de repetição de token de acesso obsoleto ou expirado no cliente.
- Interferência de plugin de segurança ou autenticação de terceiros.
- Regras de acesso Pro ou específicas da loja, ou código personalizado.
Falha de permissão vs. falha de token
O frontend do POS pode exibir o mesmo erro de atualização de token para ambos os casos depois de receber um 401 ou 403, tentar uma atualização de token e a repetição ainda estar não autorizada. Os dois modos de falha parecem diferentes no lado do servidor:
Uma falha real de função/capacidade geralmente se parece com:
status: 403
current_user: <actual user id>
access token expired: false
Uma falha de token/autenticação geralmente se parece com:
status: 403
current_user: 0
access token expired: true or invalid
Use essa distinção ao triar problemas de acesso ao POS — um current_user diferente de zero aponta para capacidades, enquanto current_user: 0 aponta para a camada de autenticação/token.