Scopes e permissões
Cada credencial precisa ter permissão para o recurso e a operação solicitados.
Leitura e escrita
Todo scope tem o formato <recurso>:<operação>, e a operação é sempre leitura ou escrita. Ela define o que a credencial pode fazer com as rotas daquele recurso — não com o restaurante inteiro.
As rotas de leitura mostram o restaurante sem alterá-lo: listam e detalham pedidos, produtos, cupons e dados que já existem. São o nível certo para painéis, relatórios e sincronizações, e não criam, alteram nem removem nada.
As rotas de escrita agem sobre o restaurante: criam, atualizam e excluem registros. Por isso o <recurso>:write deve estar apenas na credencial da integração que realmente vai operar naquele recurso — um erro de escrita muda o cardápio, o cupom ou o pedido de verdade.
Escrita inclui leitura: quem tem <recurso>:write também acessa as rotas <recurso>:read. O caminho natural é começar com leitura e pedir escrita quando a integração precisar agir.
Permissões por recurso
| Recurso | Leitura | Escrita |
|---|---|---|
| Restaurante | store:read | store:write |
| Cupons | coupons:read | coupons:write |
| Avaliações | reviews:read | reviews:write |
| Pedidos | orders:read | orders:write |
| Clientes | customers:read | customers:write |
| Catálogo | catalog:read | catalog:write |
| Entregadores (em breve) | drivers:read | drivers:write |
| Estoque (em breve) | stock:read | stock:write |
Escrita inclui leitura: quem tem <recurso>:write também acessa as rotas de <recurso>:read.
Restaurante — store:read
| Página | Rota | Escopo |
|---|---|---|
| Listar merchants | GET/v1/store/merchants | store:read |
| Detalhe do merchant | GET/v1/store/merchants/{merchantId} | store:read |
| Canal delivery | GET/v1/store/merchants/{merchantId}/delivery | store:read |
| Horários do delivery | GET/v1/store/merchants/{merchantId}/delivery/opening-hours | store:read |
| Recebimentos do delivery | GET/v1/store/merchants/{merchantId}/delivery/payment-methods | store:read |
| Pagamento online | GET/v1/store/merchants/{merchantId}/delivery/online-payments | store:read |
| Área de entrega | GET/v1/store/merchants/{merchantId}/delivery/delivery-area | store:read |
| Canal presencial | GET/v1/store/merchants/{merchantId}/local | store:read |
| Horários do presencial | GET/v1/store/merchants/{merchantId}/local/opening-hours | store:read |
| Formas de pagamento | GET/v1/store/payment-methods | store:read |
Pedidos — orders:read / orders:write
| Página | Rota | Escopo |
|---|---|---|
| Listar pedidos | GET/v1/orders | orders:read |
| Polling de pedidos | GET/v1/orders/polling | orders:read |
| Detalhe do pedido | GET/v1/orders/{orderId} | orders:read |
| Resumo de pedidos | GET/v1/orders/summary | orders:read |
| Resumo agrupado | GET/v1/orders/summary/grouped | orders:read |
| Vendas por setor | GET/v1/orders/summary/sectors | orders:read |
| Vendas por produto | GET/v1/orders/summary/products | orders:read |
| Vendas por opção | GET/v1/orders/summary/options | orders:read |
| Criar pedido | POST/v1/orders | orders:write |
| Atualizar status de entrega | PATCH/v1/orders/{orderId}/delivery-status | orders:write |
| Cancelar pedido | POST/v1/orders/{orderId}/cancel | orders:write |
Clientes — customers:read
| Página | Rota | Escopo |
|---|---|---|
| Listar clientes | GET/v1/customers | customers:read |
| Detalhe do cliente | GET/v1/customers/{customerId} | customers:read |
Cupons — coupons:read / coupons:write
| Página | Rota | Escopo |
|---|---|---|
| Listar cupons | GET/v1/store/coupons | coupons:read |
| Detalhe do cupom | GET/v1/store/coupons/{couponId} | coupons:read |
| Criar cupom | POST/v1/store/coupons | coupons:write |
| Atualizar cupom | PATCH/v1/store/coupons/{couponId} | coupons:write |
Avaliações — reviews:read
| Página | Rota | Escopo |
|---|---|---|
| Listar avaliações | GET/v1/store/reviews | reviews:read |
Catálogo · Setores — catalog:read / catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Listar setores | GET/v1/catalog/sectors | catalog:read |
| Detalhe do setor | GET/v1/catalog/sectors/{sectorId} | catalog:read |
| Criar setor | POST/v1/catalog/sectors | catalog:write |
| Atualizar setor | PATCH/v1/catalog/sectors/{sectorId} | catalog:write |
| Atualizar cardápios do setor | PATCH/v1/catalog/sectors/{sectorId}/menus | catalog:write |
| Atualizar setores em lote | PATCH/v1/catalog/sectors | catalog:write |
| Excluir setor | DELETE/v1/catalog/sectors/{sectorId} | catalog:write |
Catálogo · Produtos — catalog:read / catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Listar produtos | GET/v1/catalog/products | catalog:read |
| Detalhe do produto | GET/v1/catalog/products/{productId} | catalog:read |
| Criar produto | POST/v1/catalog/products | catalog:write |
| Atualizar produto | PATCH/v1/catalog/products/{productId} | catalog:write |
| Atualizar produtos em lote | PATCH/v1/catalog/products | catalog:write |
| Atualizar cardápios do produto | PATCH/v1/catalog/products/{productId}/menus | catalog:write |
| Atualizar restrições do produto | PATCH/v1/catalog/products/{productId}/restrictions | catalog:write |
| Ordenar grupos do produto | PATCH/v1/catalog/products/{productId}/groups | catalog:write |
| Excluir produto | DELETE/v1/catalog/products/{productId} | catalog:write |
Catálogo · Complementos — catalog:read / catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Listar complementos | GET/v1/catalog/complements | catalog:read |
| Detalhe do complemento | GET/v1/catalog/complements/{complementId} | catalog:read |
| Criar complemento | POST/v1/catalog/complements | catalog:write |
| Atualizar complementos em lote | PATCH/v1/catalog/complements | catalog:write |
| Atualizar complemento | PATCH/v1/catalog/complements/{complementId} | catalog:write |
| Atualizar cardápios do complemento | PATCH/v1/catalog/complements/{complementId}/menus | catalog:write |
| Excluir complemento | DELETE/v1/catalog/complements/{complementId} | catalog:write |
Catálogo · Grupo de opções — catalog:read / catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Listar grupos | GET/v1/catalog/groups | catalog:read |
| Detalhe do grupo | GET/v1/catalog/groups/{groupId} | catalog:read |
| Criar grupo | POST/v1/catalog/groups | catalog:write |
| Atualizar grupo | PATCH/v1/catalog/groups/{groupId} | catalog:write |
| Excluir grupo | DELETE/v1/catalog/groups/{groupId} | catalog:write |
| Vincular produtos ao grupo | POST/v1/catalog/groups/{groupId}/products | catalog:write |
| Desvincular produto do grupo | DELETE/v1/catalog/groups/{groupId}/products/{productId} | catalog:write |
Catálogo · Opções — catalog:read / catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Listar opções | GET/v1/catalog/options | catalog:read |
| Vincular opção ao grupo | POST/v1/catalog/groups/{groupId}/options | catalog:write |
| Editar opções em lote | PATCH/v1/catalog/options | catalog:write |
| Remover opção do grupo | DELETE/v1/catalog/groups/{groupId}/options/{optionId} | catalog:write |
Catálogo · Imagens — catalog:write
| Página | Rota | Escopo |
|---|---|---|
| Enviar imagem | PUT/v1/catalog/{resourceType}/{resourceId}/image | catalog:write |
| Remover imagem | DELETE/v1/catalog/{resourceType}/{resourceId}/image | catalog:write |

