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
curl "$BASE_URL/api/v1/storefront/cart" \
-H "X-Session-ID: $SESSION_ID"Resposta
{
"id": "01ff5b45-566b-4b98-94a1-23a648c9ea23",
"session_id": "6f1c3c0e-8f5b-4c3e-9d6a-2b7d0e0f1a11",
"items": [
{
"line_id": "64ddde83-28ce-4bba-86e5-ba9ebf1ba500",
"product_id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"category_id": "ae6f8f8b-7cbe-4725-84fa-247cce138143",
"category_ids": ["ae6f8f8b-7cbe-4725-84fa-247cce138143"],
"name": "Notebook Slim Rosa 02373",
"sku": "SD-002373",
"product_slug": "notebook-slim-rosa-02373",
"image_url": "/uploads/.../notebook.png",
"unit_price": 11500,
"base_price": 11500,
"list_price": 12345,
"quantity": 2,
"sale_unit": "un",
"total": 23000,
"weight": 0,
"requires_shipping": true,
"id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"item_id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"amount": 2,
"price_str": "115.00",
"subtotal_str": "230.00"
}
],
"promotions": [],
"subtotal": 23000,
"shipping_total": 0,
"tax_total": 0,
"discount_total": 0,
"total": 23000,
"currency": "BRL",
"updated_at": "2026-10-11T21:41:27.369493Z",
"expires_at": "2026-11-10T21:41:22.557382Z",
"cart_id": "01ff5b45-566b-4b98-94a1-23a648c9ea23",
"subtotal_str": "230.00",
"total_str": "230.00",
"shipping_cost_str": "0.00",
"tax_subtotal_str": "0.00",
"discount_str": "0.00",
"timestamp": 1791754887
}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-IDstringcurl "$BASE_URL/api/v1/storefront/cart/summary" \
-H "X-Session-ID: $SESSION_ID"{
"id": "01ff5b45-566b-4b98-94a1-23a648c9ea23",
"item_count": 2,
"subtotal": 23000,
"shipping_total": 0,
"tax_total": 0,
"discount_total": 0,
"total": 23000,
"currency": "BRL",
"items": [
{
"product_id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"name": "Notebook Slim Rosa 02373",
"sku": "SD-002373",
"image_url": "/uploads/.../notebook.png",
"unit_price": 11500,
"quantity": 2,
"sale_unit": "un",
"total": 23000
}
]
}Campos 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-IDstringcurl -X DELETE "$BASE_URL/api/v1/storefront/cart" \
-H "X-Session-ID: $SESSION_ID"{ "message": "cart cleared" }Erros
| 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":"..."} |