Carrinhos
Lê o carrinho salvo de um cliente no formato da Venddor 1.0 e o esvazia.
O carrinho salvo é o carrinho que a loja guarda para um cliente logado: o que ele colocou e não comprou ainda. Um sistema de recuperação de carrinho abandonado, um CRM ou o atendimento usam estas rotas para ver o que o cliente deixou lá e, se for o caso, limpar. São rotas de administrador.
O carrinho é identificado pelo cliente (user_id), não pelo id do carrinho.
/api/v1.0/carts/{user_id}AdminLer o carrinho salvo de um cliente (API 1.0)
Devolve o carrinho com as linhas (products), os totais em decimal de texto e os cupons. Cliente sem carrinho, ou com carrinho expirado, responde 404. Itens que ficaram sem estoque podem ser retirados do carrinho na leitura, em lojas que escondem produto sem estoque.
Parâmetros de caminho
user_iduuidobrigatório/api/v1.0/carts/{user_id}AdminEsvaziar o carrinho de um cliente (API 1.0)
Esvazia o carrinho salvo do cliente: remove os itens, os cupons e a forma de envio, zera os totais e libera as reservas de estoque dos itens. Responde 204 sem corpo. Depois disso a leitura devolve 200 com products vazio, e o cliente pode montar o carrinho de novo.
Parâmetros de caminho
user_iduuidobrigatório/api/carts/{user_id}AdminLer o carrinho, sem o prefixo /v1.0
Idêntica a GET /api/v1.0/carts/{user_id}. O caminho aceita só o UUID do cliente; na resposta, os ids saem como decimais e as barras dos caminhos de imagem saem escapadas (\/).
/api/carts/{user_id}AdminEsvaziar o carrinho, sem o prefixo /v1.0
Idêntica a DELETE /api/v1.0/carts/{user_id}.
Exemplo de requisição
curl "$BASE_URL/api/v1.0/carts/476752ce-1e36-429f-9d77-753a1f08d2cc" \
-u "$EMAIL:$API_KEY"Resposta
{
"cart_id": "6bef25e2-a86c-4dde-b166-21d6062c651f",
"user_id": "476752ce-1e36-429f-9d77-753a1f08d2cc",
"company_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"products": [
{
"item_id": "22fbd12a-1b6e-41ea-a84f-4d9cf06c8766",
"product_id": "22fbd12a-1b6e-41ea-a84f-4d9cf06c8766",
"product": "Camisa do Time Masculina",
"product_code": "CAM-001",
"amount": 1,
"price": "300.00",
"subtotal": "300.00",
"company_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"image_path": "/uploads/product/22fbd12a/camisa.png"
},
{
"item_id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"product_id": "c3f92551-9dda-4fc7-b518-353d1c4e4035",
"product": "Notebook Slim Rosa",
"product_code": "NB-002",
"amount": 2,
"price": "115.00",
"subtotal": "230.00",
"company_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"image_path": "/uploads/product/c3f92551/notebook.png"
}
],
"coupon_codes": [],
"payment_method": "",
"shipping_method": "",
"subtotal": "530.00",
"subtotal_str": "530.00",
"total": "530.00",
"total_str": "530.00",
"shipping_cost": "0.00",
"shipping_cost_str": "0.00",
"tax_subtotal": "0.00",
"tax_subtotal_str": "0.00",
"discount": "0.00",
"discount_str": "0.00",
"timestamp": 1791409907,
"updated_at": 1791409907
}Campos da resposta
cart_iduuiduser_iduuidcompany_idstringproducts[].company_id).products[]arrayproducts[].item_idstringproduto:variação.products[].product_idstringproducts[].productstringproducts[].product_codestringproducts[].amountintegerproducts[].pricestringproducts[].subtotalstringproducts[].company_idstringproducts[].image_pathstring/uploads/...) ou URL.coupon_codesarraypayment_methodstringshipping_methodstringsubtotalstringtotalstringshipping_coststringtax_subtotalstringdiscountstring*_strstringsubtotal, total, shipping_cost, tax_subtotal e discount com o mesmo valor, mantidas por compatibilidade.timestampintegerupdated_at repete o valor.Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem credencial | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | Credencial que não é de administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | O cliente não tem carrinho salvo (ou ele expirou) | {"message":"Cart not found","status":404} |
| 500 | Id que não é UUID | {"message":"scan cart: ...","status":500} |