Pedidos e carrinho
Veja os pedidos de um cliente e o carrinho que ele tem aberto na loja.
Duas perguntas comuns ao atender um cliente: "o que ele já comprou?" e "o que ele deixou no carrinho?". Esta página mostra onde achar cada resposta.
Pedidos de um cliente
Os pedidos de um cliente não têm uma rota nova nesta seção: eles são a lista de pedidos filtrada por cliente.
| Quero | Chamada |
|---|---|
| Rota com versão | GET /api/v1.0/users/{id}/orders, com paginação (page, items_per_page). Descrita em Listar pedidos. |
| Rota sem versão | GET /api/users/{id}/orders, com o id decimal (Rotas sem versão). |
| App de terceiros | GET /api/admin/users/{id}/orders, com escopo read_orders (Clientes por token de app). |
A lista de um cliente inclui pedidos pai e sub-pedidos (compras com itens de vários sellers). Ao somar valores você mesmo, ignore os sub-pedidos (ou os pais) para não contar o dinheiro em dobro.
Carrinho de um cliente
O carrinho é a compra em andamento: itens escolhidos, cupons, frete e totais, antes de virar pedido. Útil para o atendimento ajudar a fechar a venda e para recuperar carrinhos abandonados.
/api/v1.0/users/{user_id}/cartAdminCarrinho aberto de um usuário
Devolve o carrinho aberto do cliente no formato da API 1.0: valores em string decimal ("49.90"). Só administradores leem o carrinho de outra pessoa. Cliente sem carrinho recebe 404. Na rota sem versão (/api/users/{user_id}/cart) o id decimal não é convertido e a resposta é 500; use a rota com /v1.0 e o UUID.
Parâmetros de caminho
user_idstringobrigatórioExemplo de requisição
curl -u "$EMAIL:$API_KEY" \
"$BASE_URL/api/v1.0/users/264a70c1-9c69-458d-ac73-838543f87da2/cart"Resposta
{
"cart_id": "1c8e8f2a-63a5-4105-b460-aeb71a1e9bfe",
"user_id": "264a70c1-9c69-458d-ac73-838543f87da2",
"company_id": "9d9d9d56-eb43-4719-889d-055632f7c7da",
"products": [
{
"item_id": "a34f126e-ff3b-4779-bf74-bda03502136e",
"product_id": "a34f126e-ff3b-4779-bf74-bda03502136e",
"product": "Caneca de Cerâmica",
"product_code": "CAN-002",
"amount": 1,
"price": "49.90",
"subtotal": "49.90",
"company_id": "9d9d9d56-eb43-4719-889d-055632f7c7da",
"image_path": ""
}
],
"coupon_codes": [],
"payment_method": "",
"shipping_method": "",
"subtotal": "49.90",
"subtotal_str": "49.90",
"discount": "0.00",
"discount_str": "0.00",
"shipping_cost": "0.00",
"shipping_cost_str": "0.00",
"tax_subtotal": "0.00",
"tax_subtotal_str": "0.00",
"total": "49.90",
"total_str": "49.90",
"timestamp": 1791752138,
"updated_at": 1791752138
}Campos da resposta
cart_iduuiduser_idstringcompany_idstringcompany_id).productsarrayitem_id e product_id, product (nome), product_code (SKU), amount (quantidade), price (unitário) e subtotal, ambos em string decimal, company_id do seller e image_path.coupon_codesarraypayment_methodstringshipping_methodstringsubtotalstringsubtotal_str repete o valor. O mesmo vale para total, discount, shipping_cost e tax_subtotal (cada um com seu _str).timestampintegerupdated_at repete o valor.Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem credenciais ou chave inválida | {"message":"Invalid credentials","status":401} |
| 403 | Usuário que não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | O cliente não tem carrinho | {"message":"Cart not found","status":404} |
| 500 | Id que não é UUID (inclui o id decimal da rota sem versão) | {"message":"scan cart: pq: invalid input syntax for type uuid: \"1036002250\" (22P02)","status":500} |