Mini site de documentaçãoDeveloper Atlas

Entrada rápida para navegar arquitetura, APIs, operação e guias técnicos do projeto sem depender da estrutura do repositório.

API Pública v1 e Cache

Esta camada existe para separar leitura pública do runtime administrativo.

Recorte da seçãoGuia orientado por fluxo

Leitura pensada para explicar responsabilidades, ordem de execução e trechos reais do código com foco no fluxo da implementação.

Atualizado19 de mar. de 2026
Seções11
Tags4
guiaapicachemobile

Objetivo

Esta camada existe para separar leitura pública do runtime administrativo.

Ela foi aberta para atender três frentes ao mesmo tempo:

  • storefront consumindo snapshots rápidos;
  • integrações externas sem depender de rotas internas do painel;
  • futura base de leitura para aplicativo mobile.

Endpoints atuais

  • GET /api/v1
  • GET /api/v1/content/pages
  • GET /api/v1/content/pages/[...slug]
  • GET /api/v1/content/blog/posts
  • GET /api/v1/content/blog/posts/[slug]
  • GET /api/v1/catalog/products
  • GET /api/v1/catalog/products/[slug]
  • GET /api/v1/catalog/categories
  • GET /api/v1/system/health

Envelope

Todas as respostas seguem a mesma base:

json
{
  "version": "v1",
  "generatedAt": "2026-03-18T03:00:00.000Z",
  "data": {},
  "meta": {}
}

Isso facilita troca futura do backend sem quebrar clientes que já dependem da borda pública.

Cache

As rotas públicas são force-dynamic no Next para ler o runtime atual, mas respondem com Cache-Control para permitir cache HTTP fora da aplicação.

Política atual:

  • padrão: public, max-age=60, s-maxage=300, stale-while-revalidate=600
  • erro curto: public, max-age=30, s-maxage=60, stale-while-revalidate=120

Isso mantém a leitura leve para alto volume sem congelar o painel administrativo.

Como a camada lê dados hoje

Conteúdo dinâmico

  • site-pages.published.json
  • resolve por slug
  • nunca consulta os documentos administrativos

Blog

  • posts-index.published.json
  • posts/<slug>.published.json
  • comentários e reações ficam em documentos separados
  • usa o catálogo mock consolidado já disponível no projeto
  • transforma o dado interno em contrato público estável

Health

  • resume consistência entre admin e runtime
  • expõe storage publicado, snapshots e override da home

Relação com a futura migração para banco

Esta API foi desenhada para continuar válida quando a persistência sair de JSON e for para banco.

O plano é trocar a origem por projeções de leitura, mantendo:

  • rotas;
  • envelope;
  • filtros principais;
  • política de cache.

Leitura seguinte