GETPáginas e menus
Lista as páginas de conteúdo da loja, lê uma página pelo slug e lista os menus de navegação.
Conteúdo institucional da loja: páginas (Sobre nós, Política de privacidade, Trocas e devoluções) e menus de navegação (cabeçalho, rodapé). São leituras públicas; quem edita esse conteúdo é o administrador da loja pelo painel.
Só aparecem páginas ativas e da própria loja: páginas criadas por sellers ficam de fora.
Listar páginas
/api/storefront/pagesPúblicaListar páginas ativas
Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20page_typestringpage).parent_iduuidlangstringpt-BR, en, es). Também vale Accept-Language.Ler uma página
/api/storefront/pages/{slug}PúblicaLer uma página pelo slug
Devolve a página com o corpo em HTML. Para a política de privacidade, se a loja não escreveu a própria, a plataforma devolve o texto padrão preenchido com os dados da loja.
Parâmetros de caminho
slugstringobrigatóriosobre-nos).Parâmetros de consulta
langstringListar menus
/api/storefront/menusPúblicaListar os menus de navegação
Devolve os menus configurados (cada um com seu location, como footer_about). A resposta traz o menu, não os links: para os itens use a API de layout da vitrine.
Cabeçalhos
AuthorizationstringBearer vat_... com o escopo read_content, ou chave sfk_... com storefront:read.Exemplo de requisição
curl "$BASE_URL/api/storefront/pages?per_page=10"
curl "$BASE_URL/api/storefront/pages/sobre-nos"
curl "$BASE_URL/api/storefront/menus"Resposta
{
"id": "751d5a75-1165-4953-bd6c-09f9517ebc7a",
"title": "Sobre Nós",
"slug": "sobre-nos",
"body": "<p><strong>Quem somos.</strong> Na nossa loja acreditamos que comprar online deve ser simples.</p>",
"page_type": "page",
"created_at": "2026-04-07T02:45:34.139094Z",
"updated_at": "2026-06-18T20:15:07.543128Z"
}{ "pages": [ { "id": "751d5a75-1165-4953-bd6c-09f9517ebc7a", "title": "Sobre Nós", "slug": "sobre-nos", "page_type": "page" } ], "total": 21, "page": 1, "per_page": 1, "total_pages": 21 }{
"menus": [
{
"id": "b4d75fb9-9e16-4efa-b15d-5b5547af37fb",
"name": "Sobre Nós - Desktop",
"location": "footer_about",
"status": "A",
"created_at": "2026-04-07T02:45:34.139094Z",
"updated_at": "2026-06-18T20:15:07.543128Z",
"is_served": true
}
]
}Campos da resposta
iduuidtitlestringpage_title repete o valor.slugstringseo_name repete o valor.bodystringpage_typestringpage).descriptionstringbody (HTML), por compatibilidade com a 1.0.pages, total, page, per_page, total_pagesmixedpages tem os campos da página.menus[].namestringmenus[].locationstringfooter_about, footer_contact...).menus[].is_servedbooleantrue se a vitrine usa este menu como o ativo para o location. Menus com false existem no cadastro mas não são exibidos.Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | Chave sfk_ sem storefront:read, ou token vat_ sem read_content, no menus | {"error": "missing_scope", "required": "..."} |
| 404 | Página inexistente ou inativa | {"error": "page not found"} |
| 500 | Falha ao ler | {"error": "failed to list pages", ...} |