Cria um cupom
/v1/couponsAutentique com o header SelectKey: a chave sk_test_ opera no sandbox, a sk_live_ em produção. Como autenticar.
Corpo da requisição
codestringobrigatórioO código que o comprador digita.
namestringobrigatórioNome do cupom, para a sua referência.
typestringobrigatórioflat(um valor fixo) oupercentage.Valores:flatpercentagescopestringNuma assinatura:
firstChargedesconta só a primeira cobrança (padrão);recurringé reaplicado a cada ciclo, atérecurringCycles.Valores:firstChargerecurringvaluenumberobrigatórioEm
percentage, o percentual (0–100); emflat, o valor em reais (decimal, ex.:12.30).enabledbooleanobrigatórioSe o cupom pode ser usado.
endDatestring (date-time)Até quando o cupom vale.
initDatestring (date-time)A partir de quando o cupom vale.
usageLimitintegerNúmero total de usos permitidos (0 = ilimitado).
isCumulativebooleanSe pode ser combinado com outros cupons.
maxCartItemsintegerNúmero máximo de itens no carrinho.
minCartItemsintegerNúmero mínimo de itens no carrinho.
maxCartAmountintegerValor máximo do carrinho para o cupom valer (centavos).
minCartAmountintegerValor mínimo do carrinho para o cupom valer (centavos).
usageQuantityintegerUsos permitidos por cliente (0 = ilimitado).
allowedItemIdsstring[]Só estas variantes ganham o desconto (ids de variante).
recurringCyclesintegerpode ser nuloCom
scope=recurring: quantos ciclos ganham o desconto;null= todos os ciclos.allowedCustomerIdsstring[]Só estes clientes podem usar o cupom.
limitOneUsePerCustomerbooleanCada cliente pode usar o cupom uma vez.
Respostas
201Criado
idstringobrigatórioIdentificador público (dis_/coup_…)
codestringobrigatóriopode ser nuloO código que o comprador digita.
namestringobrigatóriopode ser nuloNome do cupom.
typestringobrigatórioflat(um valor fixo) oupercentage.Valores:flatpercentagescopestringobrigatórioNuma assinatura:
firstCharge(só a primeira cobrança) ourecurring(todo ciclo, atérecurringCycles).Valores:firstChargerecurringvaluenumberobrigatórioEm
percentage, o percentual (0–100); emflat, o valor em reais (decimal).enabledbooleanobrigatórioSe o cupom pode ser usado.
endDatestringobrigatóriopode ser nuloAté quando o cupom vale;
null= sem fim.initDatestringobrigatóriopode ser nuloA partir de quando o cupom vale;
null= sem início.createdAtstringobrigatórioQuando o recurso foi criado (ISO 8601, UTC).
updatedAtstringobrigatórioQuando o recurso foi atualizado pela última vez (ISO 8601, UTC).
usageLimitintegerobrigatóriopode ser nuloNúmero total de usos permitidos;
nullou 0 = ilimitado.isCumulativebooleanobrigatórioSe pode ser combinado com outros cupons.
maxCartItemsintegerobrigatóriopode ser nuloNúmero máximo de itens;
null= sem limite.minCartItemsintegerobrigatóriopode ser nuloNúmero mínimo de itens;
null= sem mínimo.maxCartAmountintegerobrigatóriopode ser nuloValor máximo do carrinho (centavos);
null= sem limite.minCartAmountintegerobrigatóriopode ser nuloValor mínimo do carrinho (centavos);
null= sem mínimo.usageQuantityintegerobrigatóriopode ser nuloUsos permitidos por cliente;
nullou 0 = ilimitado.allowedItemIdsany[]obrigatóriopode ser nuloIds das variantes a que o cupom se restringe;
null= qualquer item.recurringCyclesintegerobrigatóriopode ser nuloCom
scope=recurring: quantos ciclos ganham o desconto;null= todos os ciclos.redemptionsCountintegerobrigatórioQuantas vezes o cupom foi usado (reservas e confirmados). Esgota quando
usageLimit > 0e isto chega lá.allowedCustomerIdsany[]obrigatóriopode ser nuloIds dos clientes a que o cupom se restringe;
null= qualquer cliente.limitOneUsePerCustomerbooleanobrigatórioCada cliente pode usar o cupom uma vez.
400Requisição inválida (validação)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
401Não autenticado (credencial ausente ou inválida)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
403Sem permissão
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
409Conflito (idempotência ou estado)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
422Regra de negócio impede o processamento
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
500Erro interno do servidor
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório