Pular para o conteúdo principal
Versão: 1.0

Carrinho e Pedidos

Autenticação: X-API-Key + Authorization: Bearer <token do cliente> (ações do comprador).

Carrinho​

GET/v1/cart🔒 X-API-Key + Bearer
POST/v1/cart/items🔒 X-API-Key + Bearer
PATCH/v1/cart/items/:id🔒 X-API-Key + Bearer
DELETE/v1/cart/items/:id🔒 X-API-Key + Bearer
POST /v1/cart/items (por VARIANTE)
{ "variantId": "cmse...", "quantity": 2 }
Sempre por variante

variantId, nunca productId. Pegue o id em GET /products/:id → variants[].

Checkout​

POST/v1/orders/checkout🔒 X-API-Key + Bearer

Cria o pedido PENDING a partir do carrinho ativo e reserva o estoque.

curl -X POST "$BASE/orders/checkout" \
-H "X-API-Key: $API_KEY" -H "Authorization: Bearer $TOKEN"

Pagar​

POST/v1/orders/:id/pay🔒 X-API-Key + Bearer
{ "method": "PIX" } // aprova (padrão)
{ "method": "CREDIT_CARD", "simulate": "decline" } // força recusa (não baixa estoque)
Estados

PENDING → PAID (aprovado, baixa estoque) · PENDING → CANCELLED (libera reserva). Recusa mantém PENDING.

Acompanhar pedidos​

GET/v1/orders🔒 X-API-Key + Bearer
GET/v1/orders/:id🔒 X-API-Key + Bearer
POST/v1/orders/:id/cancel🔒 X-API-Key + Bearer

Gestão de pedidos (painel do grupo)​

O painel do aluno usa rotas próprias (token de aluno) para operar os pedidos da loja:

GET/v1/store/orders🔒 token de aluno
POST/v1/store/orders/:id/transition🔒 token de aluno
POST/v1/store/orders/:id/refund🔒 token de aluno
POST /v1/store/orders/:id/transition
{ "to": "SHIPPED" }