Escopos de acesso
Os escopos definem quais grupos de endpoints uma chave de API pode acessar. Cada chave também está vinculada a uma loja e a um ambiente; ter um escopo não permite consultar dados de outra loja ou de outro ambiente.
Escopos disponíveis
| Escopo | Recursos | Endpoints protegidos |
|---|---|---|
store |
Configuração da loja e cupons | GET /api/store/info/, GET /api/coupon/list, GET /api/coupon/details/ |
crm |
Clientes, avaliações e campanhas | GET /api/customer/list, GET /api/review/list, GET /api/review/details/, GET /api/campaign/list, GET /api/campaign/details/ |
order |
Pedidos | GET /api/order/list, GET /api/order/details/ |
menu |
Cardápio, categorias, produtos e grupos de complementos | GET /api/menu/, GET /api/category/list, GET /api/category/details/, GET /api/product/list, GET /api/product/details/, GET /api/option-group/list |
O endpoint GET /api/customer/order-list/ exige dois escopos: crm para identificar o cliente e order para retornar os pedidos.
Como os escopos são concedidos
Os escopos são configurados na chave de API no processo de criação ou gestão das chaves. A resposta de POST /api/auth/token/ inclui o campo scope, com os escopos concedidos ao token separados por espaço. A solicitação de token aceita um parâmetro scope opcional para pedir apenas parte dos escopos da chave; a integração não consegue ampliar as próprias permissões além do que a chave possui.
Conceda à chave apenas os escopos necessários para a integração. Se algum endpoint necessário estiver fora dos escopos da chave, solicite ao responsável pela gestão da chave que ajuste a configuração. Alterações nos escopos passam a valer imediatamente, inclusive para tokens já emitidos; um token, porém, nunca recebe escopos além dos que foram pedidos na sua emissão.
Endpoints sem escopo
POST /api/auth/token/usaclient_ideclient_secretpara emitir o token; não exige um token bearer nem um escopo.GET /healthinforma a disponibilidade do serviço e não exige autenticação.
Todos os demais endpoints de dados publicados na Referência da API exigem autenticação e um ou mais escopos. Na referência, os endpoints estão agrupados pelo escopo exigido.
Erro por falta de escopo
Se o token não tiver todos os escopos exigidos por um endpoint, a resposta será 403 Forbidden, com code igual a insufficient_scope e o cabeçalho WWW-Authenticate: Bearer ..., error="insufficient_scope", scope="...". O campo detail informa os escopos ausentes. Se o token foi emitido com um scope restrito, emita outro incluindo o escopo necessário; se a chave não possui o escopo, é necessário ajustar os escopos associados a ela.