VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Pedidos e conta do cliente

POSTComprar de novo

Coloca no carrinho os itens de um pedido antigo, com os preços de hoje.

É o botão "Comprar de novo": pega os itens de um pedido antigo e os coloca no carrinho atual do cliente, de uma vez. Nada é cobrado nem criado aqui; o cliente segue para o checkout normal. Os preços e a disponibilidade são os de hoje (o preço antigo nunca é copiado), então o total do carrinho pode ser diferente do pedido original.

POST/api/v1/storefront/orders/{orderId}/reorderCliente

Adiciona os itens de um pedido ao carrinho

Parâmetros de caminho

orderIduuidobrigatório
Id do pedido de origem, que precisa ser do cliente.
bash
curl -X POST "$BASE_URL/api/v1/storefront/orders/$ORDER_ID/reorder" \
  -H "Authorization: Bearer $TOKEN"
200Itens adicionados
json
{
  "added": [
    {
      "product_id": "a34f126e-ff3b-4779-bf74-bda03502136e",
      "name": "Caneca Exemplo",
      "sku": "CAN-002",
      "quantity": 1,
      "unit_price": 4990,
      "vendor_id": "9d9d9d56-eb43-4719-889d-055632f7c7da"
    }
  ],
  "failed": [],
  "cart": {
    "cart_id": "1c8e8f2a-63a5-4105-b460-aeb71a1e9bfe",
    "items": [
      { "product_id": "a34f126e-ff3b-4779-bf74-bda03502136e", "name": "Caneca Exemplo", "quantity": 1, "unit_price": 4990 }
    ],
    "subtotal": 4990,
    "total": 4990,
    "currency": "BRL"
  }
}

Campos da resposta

addedarray
Linhas que entraram no carrinho, com o preço atual em centavos (unit_price).
failedarray
Linhas que não entraram, cada uma com product_id e reason (por exemplo, produto inativo ou sem estoque). Mostre ao cliente quais ficaram de fora.
cartobject
O carrinho depois da operação, no mesmo formato do carrinho da loja (items, subtotal, total...).
StatusQuandoCorpo
400orderId não é um UUID{"error":"invalid orderId","detail":"orderId must be a valid UUID"}
401Sem token, ou token inválido ou expirado{"error":"missing authorization header"} / {"error":"invalid or expired token"}
404Pedido inexistente{"error":"order not found"}
500Pedido de outro cliente (hoje a plataforma responde 500 em vez de 404), ou falha interna{"error":"failed to reorder","detail":"order does not belong to user"}
Itens que ficaram de fora

Sempre leia failed antes de levar o cliente ao carrinho. Um produto que saiu de linha não faz a chamada falhar: ele só aparece em failed, e o restante dos itens entra normalmente.

Veja também

  • Consultar pedido
  • Criar pedido
Anterior
Avaliar o que comprou
Próxima
Devoluções e contestações
Nesta página
  • Veja também