Skip to main content

Data Contract

Esta página é o contrato canônico para dados disponíveis a Themes na Corvex Store V2.
Dados da loja são acessados via Theme SDK (@corvex/theme-sdk). O tema MUST NOT usar APIs admin ou autenticação interna. API version pública: 2026-08 (STOREFRONT_API_VERSION).

MUST — pacote público

Build de temas também resolve @corvex/sdk como alias legado do mesmo módulo — preferir @corvex/theme-sdk em código novo.

Como uma section recebe dados

1. Declarativo — schema.data

Chaves em sections/{id}/schema.json ou defineSection({ data: [...] }).

2. Loader customizado

MUST exportar função marcada com defineSectionData.

Contexto de página (PageContextMap)

Acesso:
usePage ignora o texto do argumento e devolve o contexto da página aberta. O argumento só documenta a intenção. Cookbook: Search Results.

StorefrontClient (createStorefront)

Cliente browser para API pública da vitrine:
  • products, categories / collections (alias)
  • search, reviews, recommendations, leads
  • discountRanges, paymentDiscounts, coupons
  • cart, shop, menus, blogs, pages
  • query() — existe e lança erro: GraphQL ainda não está disponível. Use products.list e as outras APIs do cliente
Hooks memoizados: useStorefront().

Conexões paginadas

Listas retornam Connection<T>:

SSR vs CSR (abstração pública)

  • Boot da loja pode incluir metadados de shop e revisão publicada no servidor.
  • Dados de catálogo e carrinho são obtidos no cliente via Theme SDK (fetch browser).
  • Sections MUST tratar loading / listas vazias.

MUST NOT

  • MUST NOT fazer fetch manual a endpoints não documentados no SDK.
  • Não assumir product global em toda section — declare data ou use usePage.
  • MUST NOT usar campos de objeto não declarados em Product Contract sem confirmação.

Recursos tipados


Veja também