# 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:

* `administrator`
* `shop_manager`
* `cashier`

Para a configuração de funções e capacidades voltada ao usuário, consulte [Acessando o POS](/pt-BR/settings/wp-admin/access.md).

## Resumo[​](#summary "Link direto para 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[​](#free-plugin-endpoint-access-matrix "Link direto para 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[​](#pro-plugin-endpoint-access-matrix "Link direto para 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[​](#token-expiry-coverage "Link direto para 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[​](#diagnosing-failures "Link direto para 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:

1. Corrupção de função/capacidade específica do site.
2. Um endpoint não coberto pela matriz.
3. Comportamento de repetição de token de acesso obsoleto ou expirado no cliente.
4. Interferência de plugin de segurança ou autenticação de terceiros.
5. Regras de acesso Pro ou específicas da loja, ou código personalizado.

### Falha de permissão vs. falha de token[​](#permission-failure-vs-token-failure "Link direto para 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.
