Ir para o conteúdo

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
POST /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 A proposta não pode estar em falha, finalizada, em análise ou já em envio

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 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 14Enviando 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." }
  ]
}

❌ 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 5Aguardando assinaturas.

Se o registro falhar, a proposta vai para 9Falha 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.


⚠️ 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.
  • 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.