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
/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 (numeroCcb preenchido), a reabertura, o novo cálculo, o novo envio, a submissão à análise e o cancelamento respondem 409 em qualquer status: o tratamento passa a ser operacional. A consulta da proposta indica proximaEtapa = formalizacao, com a pendência proposta_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.