3.2. Cancelar Contrato
🔗 Endpoint
| Método | URL |
 | /public/api/v1/duplicata-escritural/contratos |
🧾 Descrição
Solicita o cancelamento de um contrato de duplicata escritural previamente criado. O cancelamento pode ser processado de forma síncrona (200 OK) ou assíncrona (202 Accepted).
📤 Requisição
📋 Payload (JSON)
{
"identificadorContrato": "5174568D-9FFE-4C10-9FC2-B0F4E7F8D1B6",
"motivoCancelamento": 1,
"observacoes": "Cancelamento solicitado pelo cedente."
}
🧾 Detalhamento dos Campos
| Campo | Tipo | Obrigatório | Descrição |
| identificadorContrato | string | Sim | GUID do contrato a ser cancelado |
| motivoCancelamento | integer | Sim | Motivo do cancelamento (ver tabela abaixo) |
| observacoes | string | Não | Observações adicionais sobre o cancelamento |
🔢 MotivoCancelamentoContratoDuplicata
| Valor | Código | Significado |
| 1 | DPNX | Duplicata inexistente |
| 2 | DPLQ | Duplicata liquidada |
| 3 | DPNI | Operação não possui Duplicata |
| 4 | DPNP | Duplicata não protestada |
| 5 | ENDUP0005 | CNPJ do Agente Financiador Inválido |
| 6 | ENDUP0006 | CPF do Agente Financiador Inválido |
| 7 | ENDUP0030 | Contrato inexistente |
| 8 | ENDUP0031 | Contrato encerrado |
| 9 | ENDUP0045 | Ato Cambial inexistente |
| 10 | ENDUP0046 | Ato Cambial encerrado |
🧪 Exemplo de cURL
curl -X DELETE https://api.vehub.com.br/public/api/v1/duplicata-escritural/contratos \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Content-Type: application/json" \
-d '{
"identificadorContrato": "5174568D-9FFE-4C10-9FC2-B0F4E7F8D1B6",
"motivoCancelamento": 1,
"observacoes": "Cancelamento solicitado pelo cedente."
}'
📥 Responses
✅ 200 OK
{
"mensagem": "Contrato cancelado com sucesso!",
"identificador": "5174568D-9FFE-4C10-9FC2-B0F4E7F8D1B6",
"identificadorProcessamento": null
}
✅ 202 Accepted
{
"mensagem": "Solicitação de cancelamento recebida e será processada em breve.",
"identificadorProcessamento": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890"
}
❌ 400 Bad Request
{
"tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"titulo": "Atenção",
"status": 400,
"erros": [
"Contrato não encontrado ou já cancelado."
]
}
🕒 Observações
- Contratos já liquidados ou cancelados não podem ser cancelados novamente.
- Quando o retorno for
202 Accepted, o cancelamento será processado de forma assíncrona e o resultado será notificado via WebHook. - O campo
observacoes é opcional e serve apenas para registro interno.