VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Configurações da loja

Menus do painel

Lê e substitui a lista de menus que o painel esconde para os administradores e para os sellers.

Para simplificar o painel, a loja pode esconder menus que a operação não usa, separadamente para administradores e para sellers. A lista é feita de chaves de menu (domain:, group:, item:) e das rotas do painel correspondentes. O painel lê a lista de cada perfil e deixa de mostrar esses itens.

Esconder menu não é permissão

Esta configuração só muda o que o painel desenha. A rota, o privilégio e a API do produto continuam funcionando para quem tem acesso. Para impedir o uso de verdade, retire o privilégio do usuário.

Exigem o privilégio manage_settings.

Ler a lista

GET/api/v1/admin/panel-menusAdmin

Ler os menus escondidos de cada perfil

Devolve as duas listas. Uma loja que nunca salvou nada recebe as duas vazias (todos os menus aparecem).

bash
curl "$BASE_URL/api/v1/admin/panel-menus" \
  -H "Authorization: Bearer $TOKEN"
200Menus escondidos
json
{
  "admin": {
    "hidden": ["group:marketing/email", "item:blog"],
    "hidden_routes": ["/admin/blog", "/admin/newsletter"]
  },
  "seller": { "hidden": [], "hidden_routes": [] },
  "updated_at": "2026-10-11T22:10:00Z",
  "updated_by": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc"
}

Campos da resposta

adminobject
Lista do painel do administrador.
sellerobject
Lista do painel do seller.
*.hiddenarray
Chaves de menu escondidas.
*.hidden_routesarray
Rotas do painel escondidas, no formato /admin/... ou /vendor/.... É calculada pelo painel na hora de salvar; o servidor não conhece a estrutura do menu.
updated_atstring
Quando foi salvo, RFC 3339. Ausente se nunca foi salvo.
updated_byuuid
Quem salvou. Ausente se nunca foi salvo.

Substituir a lista

PUT/api/v1/admin/panel-menusAdmin

Gravar a lista completa de menus escondidos

O corpo substitui tudo: não há mesclagem. Os dois perfis e as duas listas de cada um são obrigatórios. Os itens são deduplicados e ordenados. A resposta é o que ficou salvo. A mudança é registrada na auditoria com o antes e o depois.

Corpo da requisição

adminobjectobrigatório

Perfil do administrador.

hiddenarrayobrigatório
Chaves a esconder. Cada chave é domain:<nome>, group:<dominio>/<grupo> ou item:<nome>, com letras minúsculas, números e hífen. Até 1000.
hidden_routesarrayobrigatório
Rotas a esconder. Começam com /admin/, sem ?. Até 1000. Não podem ser as rotas fixas /admin, /vendor e /admin/settings/panel-menus.
sellerobjectobrigatório

Perfil do seller. Mesmos campos; as rotas começam com /vendor/.

hiddenarrayobrigatório
Chaves a esconder.
hidden_routesarrayobrigatório
Rotas a esconder.
bash
curl -X PUT "$BASE_URL/api/v1/admin/panel-menus" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "admin":  {"hidden": ["item:blog"], "hidden_routes": ["/admin/blog"]},
    "seller": {"hidden": [], "hidden_routes": []}
  }'
200Lista salva

A resposta tem o formato da leitura, com updated_at e updated_by preenchidos.

Erros

StatusQuandoCorpo de exemplo
400Corpo que não é JSON.{"error":"invalid panel menus: corpo inválido"}
400Falta admin ou seller, ou falta hidden ou hidden_routes.{"error":"invalid panel menus: o corpo precisa de admin e seller"}
400Chave fora do formato.{"error":"invalid panel menus: chave inválida: \"blog\""}
400Rota com ?, rota fixa, ou prefixo errado para o perfil.{"error":"invalid panel menus: rota de administrador tem de começar com /admin/: \"/vendor/x\""}
400Mais de 1000 chaves ou rotas num perfil.{"error":"invalid panel menus: no máximo 1000 chaves por perfil"}
401Sem token ou token expirado.{"error":"invalid or expired token"}
403Sem manage_settings.{"error":"insufficient privileges","required":"manage_settings"}
500Falha ao gravar.{"error":"failed to save panel menus","detail":"..."}

As mensagens de validação desta área chegam em português.

O PUT substitui as duas listas

Para esconder mais um item, leia a lista atual, acrescente a chave (e a rota) e envie tudo de volta. Mandar só o item novo apaga o resto.

Cada pessoa lê a própria lista

O painel consulta GET /api/v1/admin/me/panel-menus (administrador) e GET /api/v1/vendor/me/panel-menus (seller), que devolvem apenas {"hidden": [...]} do perfil de quem pergunta. O administrador raiz nunca tem menu escondido.

Veja também

  • Configurações por seção
  • Configurações da loja
Anterior
Busca da vitrine
Próxima
Traduções em inglês
Nesta página
  • Ler a lista
  • Substituir a lista
  • Erros
  • Veja também