Ler e esvaziar o carrinho
Devolve o carrinho completo, um resumo leve para o mini-carrinho, e permite esvaziar o carrinho de uma vez.
Use estas três rotas para desenhar o carrinho na tela. GET /cart traz tudo (linhas completas, ids, campos técnicos). GET /cart/summary traz só o que um ícone de sacola ou um mini-carrinho precisa. DELETE /cart apaga todas as linhas.
Ler o carrinho cria o carrinho se ele ainda não existir, então a primeira chamada de um visitante novo já devolve um carrinho vazio com id. DELETE esvazia as linhas e zera os totais, mas mantém o registro do carrinho (e o mesmo id).
Ler o carrinho
/api/v1/storefront/cartAutenticadaConsulta o carrinho
Cabeçalhos
AuthorizationstringBearer <token> do cliente logado. Se enviado, ele identifica o carrinho.X-Session-IDstringX-Organization-Branch-IduuidExemplo de requisição
Resposta
Campos da resposta
iduuidcart_id).user_iduuidsession_idstringX-Session-ID do visitante. Ausente em carrinho de cliente.itemsarrayitems[].line_iduuiditems[].product_iduuiditems[].variation_iduuiditems[].unified_variation_idintegeritems[].variation_labelstringTamanho: M, Cor: Azul.items[].vendor_iduuiditems[].vendor_namestringitems[].namestringitems[].skustringitems[].image_urlstringitems[].unit_priceintegeritems[].list_priceintegeritems[].quantitynumberitems[].sale_unitstringun, kg...).items[].totalintegerunit_price vezes quantity, em centavos.items[].notestringitems[].is_giftbooleantrue quando a linha é um brinde concedido por uma promoção. O preço é zero e a linha some sozinha se o comprador deixa de ter direito a ela.items[].bundle_iduuiditems[].mix_iduuiditems[].boxobjectpromotionsarraysubtotalintegerdiscount_totalinteger0; veja a home da seção.shipping_totalinteger0 até o checkout.tax_totalintegertotalintegercurrencystringBRL).coupon_codestringcoupon_codesarrayupdated_atstringexpires_atstringResumo para o mini-carrinho
Devolve só o necessário para um ícone ou uma gaveta: contagem, valores e linhas enxutas. Use quando não precisar dos campos técnicos de cada linha.
/api/v1/storefront/cart/summaryAutenticadaResumo do carrinho para o minicarrinho
Cabeçalhos
AuthorizationstringBearer <token> do cliente logado.X-Session-IDstringCampos da resposta
item_countintegeritemsarrayproduct_id, variation_id, unified_variation_id, variation_label, vendor_id, vendor_name, name, sku, image_url, unit_price, quantity, sale_unit, sale_unit_label, total e note. Os demais campos têm o mesmo significado de GET /cart.subtotalintegerGET /cart: valores gravados, sem promoções nem frete.Esvaziar o carrinho
/api/v1/storefront/cartAutenticadaEsvazia o carrinho
Remove todas as linhas de uma vez, inclusive brindes, e zera os totais gravados. Se a loja reserva estoque para o carrinho, as reservas são liberadas. Os códigos de cupom já aplicados continuam gravados no carrinho; para limpá-los chame Remover cupom. A ação não pode ser desfeita.
Cabeçalhos
AuthorizationstringBearer <token> do cliente logado.X-Session-IDstringErros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Sem token e sem X-Session-ID | {"error":"session_id or authentication required"} |
| 400 | X-Organization-Branch-Id que não é UUID | {"error":"invalid_branch"} |
| 403 | Filial que o usuário não pode usar | {"error":"branch_forbidden"} |
| 500 | Falha ao ler ou gravar o carrinho | {"error":"failed to get cart","detail":"..."} |