6.14. Cancelamento e Reembolso¶
Especificação — em construção
Os serviços descritos nesta área ainda não estão disponíveis.
🔗 Endpoints¶
| Método | URL |
|---|---|
/credito/propostas/{idProposta}/cancelamento | |
/credito/propostas/{idProposta}/cancelamento/reembolso |
🧾 Descrição¶
Cancela a proposta ou o contrato em qualquer etapa em que o cancelamento ainda é possível: antes da CCB, depois da CCB e antes do pagamento, ou depois do desembolso, com reembolso.
As duas rotas exigem o header Idempotency-Key. Ao repetir uma chamada, use a mesma chave.
Pedir o cancelamento¶
📤 Requisição¶
{
"motivo": "Arrependimento do cliente"
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| motivo | string | Sim | De 3 a 500 caracteres. Fica gravado no contrato, vai no evento credito.contrato.cancelado e, quando há CCB, também à instituição financeira |
🧭 Caminhos¶
| Caminho | Quando | O que acontece | Resposta |
|---|---|---|---|
| A. Sem CCB | Status 1, 9, 10, 26, 27 ou 28, sem CCB emitida | Cancela na hora (status 7) e dispara credito.contrato.cancelado | 200, status: 7 |
| B. Com CCB, antes do pagamento | Status 1, 5, 6, 10 ou 30, com CCB emitida e sem pagamento | Cancela na instituição financeira e, se ela aceitar, aqui (status 7), com credito.contrato.cancelado | 200, status: 7; 422 na recusa; 503 sem resposta |
| C. Depois do desembolso | Status 6, desembolso pago e sem reembolso em andamento | O contrato vai para 12 (em cancelamento) e aguarda o reembolso | 202, status: 12 |
| Demais | Por exemplo, já cancelada, rejeitada, em cancelamento, em envio ou com a cessão iniciada | Nada muda | 409 |
- Caminho B: a instituição financeira só aceita o cancelamento até 7 dias depois do registro e recusa a proposta paga, em remessa de pagamento ou cedida. A recusa volta como
422, com a mensagem dela, e nada muda. - Caminho B sem resposta: se a instituição financeira não responder (indisponibilidade ou tempo esgotado), a rota responde
503e nada muda. Repita o pedido com a mesma chave de idempotência. - Caminho C: com cobrança por boleto, é gerado o boleto de reembolso (
statusReembolso: 3, processando); com cobrança externa, o valor volta pela sua conta (statusReembolso: 1, aguardando). O cancelamento termina com a confirmação do reembolso, abaixo. Até lá, não sai evento. O boleto de reembolso não é exposto por esta API.
✅ 200 OK (caminhos A e B)¶
{
"sucesso": true,
"mensagem": "Proposta cancelada com sucesso.",
"dados": {
"idProposta": 1001,
"status": 7
}
}
✅ 202 Accepted (caminho C)¶
{
"sucesso": true,
"mensagem": "Cancelamento iniciado: o contrato aguarda o reembolso.",
"dados": {
"idProposta": 1001,
"status": 12,
"statusReembolso": 1
}
}
Confirmar o reembolso¶
Conclui o cancelamento do caminho C.
📤 Requisição¶
{
"valorPago": 255.10,
"dataPagamento": "2026-10-30"
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| valorPago | number | Sim | Valor recebido. Precisa ser maior que zero (400) |
| dataPagamento | string (date) | Sim | Data do recebimento. Não pode ser futura no horário de Brasília (422) |
- Só é aceita no status
12, com o reembolso processando (3) ou aguardando (1). Nos demais casos,409. - O contrato vai para
7(cancelado), o reembolso fica como recebido, as parcelas em aberto são canceladas e saicredito.contrato.cancelado, com o motivo do pedido de cancelamento.
✅ 200 OK¶
{
"sucesso": true,
"mensagem": "Reembolso confirmado: o contrato foi cancelado.",
"dados": true
}
🧪 Exemplo de cURL¶
curl -X POST "https://api.vehub.com.br/credito/propostas/1001/cancelamento" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Idempotency-Key: {uuid}" \
-H "Content-Type: application/json" \
-d '{ "motivo": "Arrependimento do cliente" }'