Páginas
Lista as páginas institucionais ativas da loja e lê uma página pelo slug.
Páginas são o conteúdo livre da loja: "Sobre nós", "Política de troca", "Termos de uso", "Como comprar". O administrador escreve o texto no painel e a vitrine o exibe em um endereço fixo pelo slug. Use a lista para montar menus e rodapés e a leitura por slug para abrir uma página.
/api/v1/storefront/pagesPúblicaListar as páginas ativas
Parâmetros de consulta
pageintegerpadrão: 1Página da listagem, a partir de 1.
per_pageintegerpadrão: 20Itens por página, de 1 a 100. Fora da faixa, vale 20.
page_typestringpagebloglinkFiltra pelo tipo da página:
page texto comum, blog página de blog, link atalho para outro endereço.parent_iduuidDevolve só as filhas diretas desta página.
langstringpadrão: pt-BRIdioma do texto. Também aceita o cabeçalho
Accept-Language.Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/pages?per_page=20"Resposta
200Páginas
json
{
"pages": [
{
"id": "751d5a75-1165-4953-bd6c-09f9517ebc7a",
"title": "Sobre Nós",
"slug": "sobre-nos",
"body": "<p><strong>Quem somos.</strong> Na Loja Exemplo acreditamos que comprar online deve ser simples.</p>",
"status": "active",
"page_type": "page",
"created_at": "2026-09-09T14:44:48Z",
"updated_at": "2026-09-09T14:44:48Z"
}
],
"total": 21,
"page": 1,
"per_page": 20,
"total_pages": 2
}Campos da resposta
pagesarrayPáginas da listagem. Pode vir
null quando não há nenhuma; trate null como lista vazia.pages[].iduuidId da página.
pages[].titlestringTítulo.
pages[].slugstringIdentificador na URL, por exemplo
sobre-nos.pages[].bodystringTexto em HTML.
pages[].statusstringAqui sempre
active.pages[].page_typestringpagebloglinkTipo da página.
pages[].seo_titlestringTítulo para buscadores. Ausente quando não há.
pages[].seo_descriptionstringDescrição para buscadores. Ausente quando não há.
pages[].parent_iduuidPágina mãe. Ausente na página raiz.
pages[].created_atstringCriação (RFC 3339).
pages[].updated_atstringÚltima alteração (RFC 3339).
totalintegerTotal de páginas que combinam com o filtro.
pageintegerPágina devolvida.
per_pageintegerItens por página aplicados.
total_pagesintegerTotal de páginas da listagem.
Cada página traz também apelidos dos campos principais: page_id (igual a id), page (igual a slug), page_title (igual a title), description (igual a body), seo_name (igual a slug), timestamp e updated_timestamp (datas em Unix timestamp).
Erros
| Status | Quando | Corpo |
|---|---|---|
| 500 | Falha ao consultar (por exemplo, parent_id que não é UUID). | {"error":"failed to list pages","detail":"..."} |
/api/v1/storefront/pages/{slug}PúblicaLer uma página pelo slug
Parâmetros de caminho
slugstringobrigatórioslug da página.Parâmetros de consulta
langstringpadrão: pt-BRIdioma do texto. Também aceita o cabeçalho
Accept-Language.bash
curl "$BASE_URL/api/v1/storefront/pages/sobre-nos"200Página encontrada
json
{
"id": "751d5a75-1165-4953-bd6c-09f9517ebc7a",
"title": "Sobre Nós",
"slug": "sobre-nos",
"body": "<p><strong>Quem somos.</strong> Na Loja Exemplo acreditamos que comprar online deve ser simples.</p>",
"status": "",
"page_type": "page",
"created_at": "2026-09-09T14:44:48Z",
"updated_at": "2026-09-09T14:44:48Z"
}Campos da resposta
(campos da página)objectOs mesmos campos de
pages[] da listagem, com os mesmos apelidos. Aqui há um campo a mais: is_default (true quando é o texto padrão de privacidade da plataforma).Erros
| Status | Quando | Corpo |
|---|---|---|
| 404 | Nenhuma página ativa com esse slug. | {"error":"page not found"} |
| 500 | Falha ao consultar. | {"error":"failed to get page","detail":"..."} |