6.8. Envio da Proposta¶
Especificação — em construção
Os serviços descritos nesta área ainda não estão disponíveis.
🔗 Endpoint¶
| Método | URL | Natureza |
|---|---|---|
/credito/propostas/{idProposta}/envio | Assíncrono |
🧾 Descrição¶
Registra a proposta na bancarizadora. É o ponto de não retorno da jornada: a partir daqui a operação passa a existir na instituição financeira, a CCB é emitida e a formalização começa.
Sem corpo. Use Idempotency-Key — este é o endpoint em que um retry sem chave gera duas operações de crédito para o mesmo cliente.
✅ Pré-condições¶
O envio é recusado com 409 se qualquer uma destas não estiver satisfeita:
| Pré-condição | Detalhe |
|---|---|
| Simulação concluída | A proposta precisa ter valores calculados |
| Análise aprovada | Quando a esteira exige análise — ver o quadro abaixo |
| Conta de desembolso resolvida | Conta do tomador, ou parceiro com conta completa |
| Ficha do tomador completa | Conforme o tipo de pessoa |
| Documentos enviados | Todos os itens da lista de documentos exigidos |
| Status permitido | 1 Em digitação, 9 Falha na inclusão da proposta, 13 Aguardando motor de crédito ou o retorno do motor (26, 27 ou 28). Nos demais status, 409. O 13 só passa em esteira sem análise de crédito |
| CCB ainda não emitida | A proposta que já tem a CCB emitida (numeroCcb preenchido) não aceita novo envio, em nenhum status |
Antes de chamar, consulte 6.10. Consultar, Listar e Pendências: se pendencias estiver vazio e proximaEtapa for envio, o envio passa.
🔒 A barreira da análise de crédito¶
Quando a esteira tem enviarParaAnaliseCredito = true, o envio exige resultado aprovado:
| Estado da análise | Envio |
|---|---|
6 Aprovado | ✅ permitido |
7 Aprovado com alteração | ✅ permitido |
4 Recusado | ❌ 409 |
11 Pendente | ❌ 409 |
27 Cancelado | ❌ 409 |
Ainda em Aguardando motor de crédito (13) | ❌ 409 |
| Nunca submetida à análise — ou com a análise descartada porque a simulação foi refeita depois do retorno | ❌ 409 |
Não contorne esta barreira
A bancarizadora não bloqueia o registro de uma proposta recusada do lado dela. A validação aqui é a única que impede que uma operação reprovada — ou ainda em análise — se transforme em contrato. Se o seu fluxo tenta enviar antes de confirmar a aprovação, você vai receber 409; trate isso como proteção, não como obstáculo.
🧪 Exemplo de cURL¶
curl -X POST "https://api.vehub.com.br/credito/propostas/1001/envio" \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Idempotency-Key: c41e8a55-9df2-4b70-8e11-6a2f3d9b4c80"
📥 Responses¶
✅ 202 Accepted¶
{
"sucesso": true,
"mensagem": "Proposta em envio para a bancarizadora.",
"dados": {
"status": "processando",
"consultarEm": "/credito/propostas/1001"
}
}
A proposta passa para o status 14 — Enviando proposta.
❌ 409 Conflict — análise não aprovada¶
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A análise de crédito não está aprovada. Situação atual: Recusado." }
]
}
❌ 409 Conflict — análise em andamento¶
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A análise de crédito ainda está em processamento. Aguarde o resultado." }
]
}
❌ 409 Conflict — status não permite¶
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A proposta está em \"Aguardando assinaturas\" e não aceita envio." }
]
}
❌ 409 Conflict — CCB já emitida¶
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.10",
"status": 409,
"errors": [
{ "campo": null, "mensagem": "A proposta já tem a CCB emitida na bancarizadora e não aceita novo envio. O tratamento passa a ser operacional." }
]
}
A proposta que já tem a CCB emitida não é enviada de novo, mesmo que o status tenha voltado a Em digitação: a operação já existe na bancarizadora.
❌ 422 Unprocessable Entity — pendências¶
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.21",
"status": 422,
"errors": [
{ "campo": null, "mensagem": "Comprovante de renda não enviado." },
{ "campo": null, "mensagem": "Conta bancária do tomador não informada." }
]
}
O que acontece depois do 202¶
Depois do envio bem-sucedido, a consulta da proposta passa a trazer numeroCcb e dataGeracaoProposta, e o status evolui para 5 — Aguardando assinaturas.
Se o registro falhar, a proposta vai para 9 — Falha na inclusão da proposta — com a mensagem da bancarizadora em erros, e o evento credito.proposta.falhou é disparado. Nesse caso, corrija o que foi apontado e use a reabertura. O POST /envio também é aceito direto no status 9, sem reabertura prévia.
⚠️ Observações¶
- Após o envio, a proposta não aceita mais alterações de simulação, tomador, desembolso, avalistas ou garantias.
- O cancelamento por API só é permitido enquanto a proposta está em Em digitação. Depois do envio, o cancelamento é operação de plataforma.
- Com a CCB emitida (
numeroCcbpreenchido), a reabertura, o novo cálculo, o novo envio, a submissão à análise e o cancelamento respondem409em qualquer status: o tratamento passa a ser operacional. A consulta da proposta indicaproximaEtapa = formalizacao, com a pendênciaproposta_registrada— ver 6.10. - A formalização é conduzida pela bancarizadora, que notifica o assinante por e-mail. Não há link de assinatura para embutir na sua jornada — ver 6.9. Assinantes e CCB.