VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Créditos e descontos

Vale-presente

Valida o código de um vale-presente e usa o saldo em um pedido.

Duas rotas para o cliente pagar (parte do) pedido com um vale. Ambas exigem o token do cliente. O módulo gift-certificates é exigido só para vales da loja inteira; um vale de um seller específico funciona mesmo com o módulo desligado.

Validar um vale-presente

Um vale-presente (gift certificate) é um crédito com código que a loja ou um seller emite e que o cliente usa como pagamento. Esta rota não gasta nada: só confere se o código é válido e devolve o saldo utilizável neste carrinho. Para um vale de um seller específico, o saldo utilizável é limitado ao subtotal dos itens daquele seller no carrinho atual do cliente.

POST/api/v1/storefront/gift-certificates/validateCliente

Confere o código e diz quanto dá para usar neste carrinho

Corpo da requisição

codestringobrigatório
Código do vale. Não diferencia maiúsculas de minúsculas.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/storefront/gift-certificates/validate" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "PRESENTE-50"
  }'

Resposta

200Vale válido
json
{
  "valid": true,
  "code": "PRESENTE-50",
  "balance": 5000,
  "expires_at": "2027-03-31T23:59:59Z"
}

Campos da resposta

validboolean
Sempre true nesta resposta; vale inválido volta como erro 400.
codestring
O código.
balanceinteger
Saldo utilizável neste carrinho, em centavos. Pode ser menor que o saldo total do vale.
expires_atstring
Validade (RFC 3339). Pode vir null se não vence.

Erros

StatusQuandoCorpo de exemplo
400code ausente.{"error":"code is required"}
400O vale não existe, está inativo, sem saldo ou vencido. A mensagem diz qual (em inglês).{"error":"gift certificate has expired"}
401Sem token de cliente no cabeçalho Authorization.{"error":"missing authorization header"}
403O módulo gift-certificates está desligado nesta loja.{"error":"module_disabled","module":"gift-certificates"}

Usar um vale-presente

Debita o saldo do vale na hora e registra o uso contra o order_id. O vale vira used quando o saldo zera. Se o pedido for cancelado ou reembolsado, o valor usado volta ao vale. No checkout normal a plataforma aplica o vale sozinha; use esta rota apenas num checkout próprio.

POST/api/v1/storefront/gift-certificates/applyCliente

Debita o saldo do vale e registra o uso em um pedido

Corpo da requisição

codestringobrigatório
Código do vale.
order_iduuidobrigatório
Pedido que recebe o crédito.
amountintegerpadrão: 0
Quanto debitar, em centavos. 0 (ou omitido) usa todo o saldo. Acima do saldo, é reduzido ao saldo.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/storefront/gift-certificates/apply" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "PRESENTE-50",
    "order_id": "3f73310d-bfdd-4713-a664-305c08eda58b",
    "amount": 3000
  }'

Resposta

200Uso registrado
json
{
  "id": "2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f",
  "certificate_id": "8f9a0b1c-2d3e-4f50-8a1b-2c3d4e5f6a7b",
  "order_id": "3f73310d-bfdd-4713-a664-305c08eda58b",
  "amount_used": 3000,
  "created_at": "2026-10-11T15:10:00Z",
  "refunded_at": null
}

Campos da resposta

iduuid
Id do registro de uso.
certificate_iduuid
O vale.
order_iduuid
O pedido.
amount_usedinteger
Valor debitado, em centavos.
created_atstring
Quando foi usado (RFC 3339).
refunded_atstring
null; recebe a data se o uso for estornado.

Erros

StatusQuandoCorpo de exemplo
400code ou order_id ausente.{"error":"code and order_id are required"}
400O vale não existe, está inativo, sem saldo ou vencido. A mensagem diz qual (em inglês).{"error":"gift certificate has expired"}
401Sem token de cliente no cabeçalho Authorization.{"error":"missing authorization header"}
403O módulo gift-certificates está desligado nesta loja.{"error":"module_disabled","module":"gift-certificates"}
O débito não depende do total do pedido

A rota não confere se o order_id existe nem quanto o pedido vale: ela só debita o amount pedido (ou o saldo todo) do vale. Calcule o valor no seu lado e não chame duas vezes para o mesmo pedido, ou o vale será debitado duas vezes.

Veja também

  • Cupons
  • Carteira
Anterior
Créditos e descontos
Próxima
Cupons de desconto
Nesta página
  • Validar um vale-presente
  • Usar um vale-presente
  • Veja também