Cupom e cashback
Aplica ou remove um cupom de desconto da sacola e consulta, usa ou devolve o saldo de cashback do cliente.
Os dois descontos manuais da mini-loja são o cupom (um código que o cliente digita) e o cashback (saldo em reais que o cliente acumulou em compras anteriores e pode gastar). Os dois ficam gravados na sacola do token e entram no cálculo de /totals e do checkout.
Promoções automáticas da loja (por quantidade, valor da sacola, grupo de cliente) não passam por aqui: já aparecem na sacola em cart_promotions.
Aplicar um cupom
/api/v1/storefront/wa-coex/cart/{token}/couponPúblicaValida e aplica um cupom à sacola
O servidor procura o código entre os cupons da mini-loja e, se não achar, no motor de promoções da loja (o mesmo que o checkout usa). Aplicar um cupom novo substitui o anterior. Um cupom de frete grátis não desconta o subtotal: zera o frete nas cotações e no checkout.
Na loja que esconde preço até o login, a rota responde 403 account_required. Se a loja desligou cupons, responde 403 feature_not_available.
Parâmetros de caminho
tokenstringobrigatórioCorpo da requisição
codestringobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/storefront/wa-coex/cart/$TOKEN/coupon" \
-H "Content-Type: application/json" \
-d '{"code":"BEMVINDO10"}'Resposta
{
"valid": true,
"code": "BEMVINDO10",
"discount_cents": 1840,
"free_shipping": false,
"message": "Cupom aplicado",
"percent": 10
}{
"valid": false,
"discount_cents": 0,
"free_shipping": false,
"message": "cupom não encontrado ou inativo"
}Campos da resposta
validbooleantrue quando o cupom foi aplicado.codestringdiscount_centsintegerfree_shippingbooleantrue quando o cupom concede frete grátis.messagestringpercentintegerAs mensagens de recusa que o servidor devolve em português incluem Informe um cupom, Cupom inválido, Cupom inativo, Cupom ainda não válido, Cupom expirado, Cupom esgotado e Pedido mínimo de R$ 100,00. Cupons do motor de promoções trazem o motivo próprio dele (por exemplo, o que falta para atingir o mínimo).
Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | A loja esconde preços até o login e o cliente não entrou. | {"error":"account_required"} |
| 403 | A loja desligou os cupons. | {"error":"feature_not_available","feature":"coupons","detail":"switched off for this store"} |
Remover o cupom
/api/v1/storefront/wa-coex/cart/{token}/couponPúblicaTira o cupom da sacola
Apaga o cupom gravado na sacola. Chamar sem cupom aplicado também responde 200.
Parâmetros de caminho
tokenstringobrigatórioResposta
{ "ok": true }Os erros são os mesmos de Aplicar um cupom: 403 account_required e 403 feature_not_available.
Ver o saldo de cashback
/api/v1/storefront/wa-coex/cashback/{token}PúblicaSaldo de cashback e quanto dele a sacola atual pode usar
Cashback é crédito em reais que a loja devolve ao cliente depois de compras e que ele pode gastar numa compra futura. O saldo é do telefone do token. Quanto dele pode ser usado depende das regras da loja: pedido mínimo e percentual máximo do valor da sacola (já abatido o cupom).
Parâmetros de caminho
tokenstringobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/storefront/wa-coex/cashback/$TOKEN"Resposta
{ "applied_cents": 0, "balance_cents": 0, "enabled": false, "max_usable_cents": 0 }{ "applied_cents": 0, "balance_cents": 2500, "enabled": true, "max_usable_cents": 1800 }Campos da resposta
enabledbooleanbalance_centsintegermax_usable_centsintegerapplied_centsintegerprice_redactedbooleantrue) quando a loja esconde preços até o login e o cliente não entrou; os valores vêm zerados.Usar o cashback
/api/v1/storefront/wa-coex/cashback/{token}PúblicaAplica cashback à sacola
Grava na sacola quanto cashback será abatido. O valor aplicado nunca passa de max_usable_cents. Reenviar muda o valor.
Parâmetros de caminho
tokenstringobrigatórioCorpo da requisição
applybooleanpadrão: falsetrue aplica o máximo permitido.centsintegercents e o máximo permitido. Se apply é false e cents é 0 ou ausente, o cashback aplicado volta a 0.Resposta
{
"ok": true,
"balance_cents": 2500,
"applied_cents": 1800,
"max_usable_cents": 1800,
"enabled": true
}{
"ok": false,
"message": "Cashback indisponível neste pedido",
"balance_cents": 0,
"applied_cents": 0,
"max_usable_cents": 0,
"enabled": false
}Os campos têm o mesmo significado de Ver o saldo. Sem saldo, com cashback desligado ou abaixo do pedido mínimo, a resposta é 200 com ok: false.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 403 | A loja esconde preços até o login e o cliente não entrou. | {"error":"account_required"} |
Deixar de usar o cashback
/api/v1/storefront/wa-coex/cashback/{token}PúblicaZera o cashback aplicado à sacola
Volta o cashback aplicado a 0. O saldo do cliente não muda: ele só deixa de ser abatido nesta sacola.
Parâmetros de caminho
tokenstringobrigatórioResposta
{ "ok": true, "applied_cents": 0 }Erro: 403 account_required (mesmas condições acima).