VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa/Registros da loja (1.0)

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.

GET/api/v1.0/carts/{user_id}Admin

Ler 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
Id do cliente.
DELETE/api/v1.0/carts/{user_id}Admin

Esvaziar 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
Id do cliente.
GET/api/carts/{user_id}Admin

Ler 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 (\/).

DELETE/api/carts/{user_id}Admin

Esvaziar o carrinho, sem o prefixo /v1.0

Idêntica a DELETE /api/v1.0/carts/{user_id}.

Exemplo de requisição

bash
curl "$BASE_URL/api/v1.0/carts/476752ce-1e36-429f-9d77-753a1f08d2cc" \
  -u "$EMAIL:$API_KEY"

Resposta

200Carrinho salvo
json
{
  "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_iduuid
Id do carrinho.
user_iduuid
Cliente dono do carrinho.
company_idstring
Seller dos itens, quando todos os itens são do mesmo seller. Vazio num carrinho com sellers diferentes (veja products[].company_id).
products[]array
Linhas do carrinho.
products[].item_idstring
Id da linha. Quando o item é uma variação, vem como produto:variação.
products[].product_idstring
Id do produto.
products[].productstring
Nome do produto.
products[].product_codestring
SKU.
products[].amountinteger
Quantidade, arredondada para inteiro.
products[].pricestring
Preço unitário, decimal de texto, em reais.
products[].subtotalstring
Preço unitário vezes a quantidade.
products[].company_idstring
Seller do item.
products[].image_pathstring
Imagem do item. Caminho relativo (/uploads/...) ou URL.
coupon_codesarray
Cupons aplicados ao carrinho.
payment_methodstring
Forma de pagamento escolhida, quando houver.
shipping_methodstring
Nome da forma de envio escolhida, quando houver.
subtotalstring
Soma dos itens, decimal de texto.
totalstring
Total do carrinho.
shipping_coststring
Frete.
tax_subtotalstring
Impostos.
discountstring
Descontos.
*_strstring
Cópias de subtotal, total, shipping_cost, tax_subtotal e discount com o mesmo valor, mantidas por compatibilidade.
timestampinteger
Última alteração em Unix timestamp (segundos, UTC). updated_at repete o valor.

Erros

StatusQuandoCorpo
401Sem credencial{"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401}
403Credencial que não é de administrador{"message":"Forbidden: admin scope required","status":403}
404O cliente não tem carrinho salvo (ou ele expirou){"message":"Cart not found","status":404}
500Id que não é UUID{"message":"scan cart: ...","status":500}
O carrinho tem dados de cliente

O carrinho revela o que uma pessoa pretende comprar. Use estas rotas só de servidores seus e nunca no navegador ou no app do cliente, que não deve ter a chave de administrador.

Cliente sem carrinho é 404

Um cliente que nunca montou carrinho, ou cujo carrinho expirou, responde 404; um carrinho esvaziado responde 200 com products vazio. Trate os dois como "nada a recuperar" no seu fluxo.

Veja também

  • Visão geral dos registros da loja
  • Autenticação
Anterior
Avaliações
Próxima
Pagamentos e impostos
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também