Documentação de Menus
Visão Geral
O menu é responsável por estruturar a navegação da loja, organizando links e acessos para as principais áreas da plataforma 🧭.
Por meio dos menus, é possível direcionar usuários para categorias, páginas, marcas, vitrines ou outras seções estratégicas, facilitando a descoberta de conteúdos e produtos.
Cada menu pode conter múltiplos itens de navegação, permitindo construir estruturas simples ou hierarquias mais completas, conforme a necessidade da loja.
Além disso, os menus podem ser vinculados a localizações específicas, possibilitando que diferentes menus sejam exibidos em áreas distintas da interface, como cabeçalho, rodapé ou menus laterais.
Entidades Relacionadas
Itens de Menu
Os itens de menu representam os elementos individuais de navegação dentro de um menu.
Cada item define o rótulo exibido ao usuário e o destino do link, podendo apontar para diferentes áreas da loja ou conteúdos específicos.
Essa estrutura permite organizar a navegação de forma flexível, criando desde menus simples até estruturas mais complexas de navegação.
Localização
O menu pode estar vinculado a uma localização específica.
As localizações são gerenciadas pelo frontend e permitem retornar um conjunto de entidades com base no local informado, determinando onde o menu deve ser exibido na interface.
Para mais informações sobre localizações, clique [aqui]({{ MAIN_URL }}/).
Listar Menus por Código
/api/v3/publics/template/menus
Obtém menus de navegação por códigos
Descrição
Endpoint responsável por retornar menus de navegação com estrutura hierárquica completa, incluindo itens ativos, URLs dinâmicas e relacionamento com banners.
Suporta menus aninhados (multi-nível) e diferentes tipos de links, permitindo a construção dinâmica da navegação do site.
---
Tipos de Item de Menu
| Tipo | Descrição | Campo Preenchido |
|---|---|---|
category | Link para categoria | productCategoryId |
brand | Link para marca | productBrandId |
product | Link para produto | productId |
page | Link para página customizada | productPageId |
custom | Link customizado | Nenhum (URL manual) |
Observações
- Estrutura Hierárquica: Suporta múltiplos níveis de profundidade (submenus)
- URLs Dinâmicas: A URL é gerada automaticamente com base no
typee na entidade vinculada - Apenas Itens Ativos: Apenas itens com
active: truesão retornados - Ordenação: Itens são ordenados pelo campo
order - Relacionamento com Banners: O campo
bannerGroupspermite exibir banners ao passar o mouse sobre o item - Vitrine Vinculada: O campo
showcaseCoderetorna o code da vitrine relacionada ao item, ounullquando não houver vitrine vinculada - Trade Policy: As URLs respeitam a política comercial configurada
- Recursividade: O campo
itemspermite navegação em árvore, suportando subníveis ilimitados - Estrutura Hierárquica: Suporta menu com múltiplos níveis de profundidade
- URLs Dinâmicas: A URL é gerada automaticamente com base no
typee entidade vinculada - Apenas Itens Ativos: Apenas itens com
active: truesão retornados - Ordenação: Itens são ordenados pelo campo
order - Relacionamento com Banners: Campo
bannerGroupspermite exibir banners ao passar mouse sobre item - Vitrine Vinculada: Campo
showcaseCoderetorna o code da vitrine relacionada ao item, ounullquando não houver vitrine vinculada - Trade Policy: URLs respeitam a política comercial configurada
- Recursividade: Campo
itemspermite navegação em árvore (submenus)
Tipos de Item de Menu
| Tipo | Descrição | Campo Preenchido |
|---|---|---|
category | Link para categoria | productCategoryId |
brand | Link para marca | productBrandId |
product | Link para produto | productId |
page | Link para página customizada | productPageId |
custom | Link customizado | Nenhum (URL manual) |
Observações
Parâmetros de Query
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Parâmetros de Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
codes | array | Sim | Array com códigos dos menus desejados |
codes.* | string | Não | Código individual de menu |
Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/publics/template/menus' \3 --header 'uappi-cookie-name: uappi-cookie' \4 --data '{5 "codes": ["menu-principal", "menu-footer"]6 }'✅ Resposta de Sucesso
1{2 "status": true,3 "data": [4 {5 "id": 1,6 "locationId": "header",7 "code": "menu-principal",8 "name": "Menu Principal",9 "items": [10 {11 "id": 10,12 "templateMenuItemId": 0,13 "active": true,14 "title": "Eletrônicos",15 "type": "category",16 "productId": null,17 "productCategoryId": 5,18 "productBrandId": null,19 "productPageId": null,20 "image1": "https://cdn.sua-loja.com.br/menu/eletronicos.jpg",21 "image2": "",22 "highlight": true,23 "order": 1,24 "url": "/eletronicos",25 "target": "_self",26 "bannerGroups": ["banner-submenu-eletronicos"],27 "showcaseCode": null,28 "items": [29 {30 "id": 11,31 "templateMenuItemId": 10,32 "active": true,33 "title": "Smartphones",34 "type": "category",35 "productId": null,36 "productCategoryId": 8,37 "productBrandId": null,38 "productPageId": null,39 "image1": "",40 "image2": "",41 "highlight": false,42 "order": 1,43 "url": "/eletronicos/smartphones",44 "target": "_self",45 "bannerGroups": [],46 "showcaseCode": null,47 "items": []48 },49 {50 "id": 12,51 "templateMenuItemId": 10,52 "active": true,53 "title": "Notebooks",54 "type": "category",55 "productId": null,56 "productCategoryId": 9,57 "productBrandId": null,58 "productPageId": null,59 "image1": "",60 "image2": "",61 "highlight": false,62 "order": 2,63 "url": "/eletronicos/notebooks",64 "target": "_self",65 "bannerGroups": [],66 "showcaseCode": null,67 "items": []68 }69 ]70 },71 {72 "id": 20,73 "templateMenuItemId": 0,74 "active": true,75 "title": "Promoções",76 "type": "page",77 "productId": null,78 "productCategoryId": null,79 "productBrandId": null,80 "productPageId": 15,81 "image1": "",82 "image2": "",83 "highlight": false,84 "order": 2,85 "url": "/promocoes",86 "target": "_self",87 "bannerGroups": [],88 "showcaseCode": null,89 "items": []90 }91 ]92 }93 ]94}⚠️ Possíveis erros:
Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.
Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.
1{2 "status": false,3 "data": {4 "code": 404,5 "errorCode": "UAPPI_STORE_MENU_NOT_FOUND",6 "message": "Menu not found with the provided codes."7 }8}