Skip to main content
Esta página é o contrato canônico para Cart na Corvex.
Fonte normativa: StorefrontCart, StorefrontCartItem, CartLineInput e useCorvexCart() em @corvex/theme-sdk types.

MUST — hook principal

useCorvexCart MUST ser usado dentro de árvore com CorvexProvider (storefront / editor).

StorefrontCart


StorefrontCartItem

Lista pública: items. Atualize e remova com item.id. unitPrice é número. A moeda do carrinho é currency.

MUST — adicionar ao carrinho

  • product — objeto com pelo menos id (Product ou resumo)
  • quantity — OPTIONAL, default 1
  • variant — OPTIONAL ProductVariant ou { id }
Helper: resolveCartLineInput(product, quantity, variant) → CartLineInput. MUST passar a variante selecionada quando o produto tem mais de uma. Se a API rejeitar essa variante, o cliente pode tentar de novo sem o id e o hook não marca erro. Veja Ações do carrinho.

MUST — atualizar / remover


MUST — checkout

Redireciona ou retorna URL de checkout externo. Não há template checkout obrigatório no tema Corvex.

Contexto de página cart

Template cart + schema.data: ["cart"] + usePage('cart'):

Sessão (comportamento público)

O SDK persiste referência do carrinho em localStorage por loja para reabrir sessão entre visitas. Chave derivada de storeId.

Cliente direto (createStorefront().cart)

Para loaders sem React:
  • create(), get(), ensure(), addItem(), updateItem(), removeItem(), clearItems(), checkout()
No tema, use useCorvexCart() / storefront.cart.* — não monte chamadas HTTP manuais.

Restrições

  • MUST NOT implementar fetch manual de carrinho se useCorvexCart atende.
  • MUST disable add-to-cart quando variante availableForSale === false.
  • MUST NOT usar cart.lines — contrato é items.

Veja também