--- title: 8.3. Eventos de Análise de Crédito url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/8.%20Notifica%C3%A7%C3%B5es%20-%20WebHook/8.3.%20Eventos%20de%20An%C3%A1lise%20de%20Cr%C3%A9dito/ --- # 8.3. Eventos de Análise de Crédito !!! warning "Especificação — em construção" Os serviços descritos nesta área ainda não estão disponíveis. Evento disparado pelo retorno do [motor de crédito](../6.%20Proposta/6.7.%20Análise%20de%20Crédito.md). O envelope, os headers, a assinatura HMAC e a política de retry estão em [8.1. Visão Geral](8.1.%20Visão%20Geral.md). --- ## `credito.analise.concluida` Disparado quando o motor devolve o resultado — **aprovado ou não**. Não existe evento separado para recusa: a decisão vem no campo `status`. A proposta passa para o status `16` — **Retorno do motor de crédito recebido**. ### 📦 Payload — aprovada ```json { "idWebhook": "019e0894-3c4d-7823-9e15-6a8f3b02e4c7", "tipoEvento": "credito.analise.concluida", "dataHora": "2026-08-20T13:22:40.512Z", "grupoEconomico": "MeuGrupo", "dados": { "idProposta": 1001, "idEsteira": 12, "produto": "ep", "status": { "id": 6, "nome": "Aprovado" }, "score": "742", "limiteConcedido": "25000.00", "motivo": null, "novaAnaliseSolicitada": false, "podeEnviarProposta": true }, "etiquetas": null } ``` ### 📦 Payload — recusada ```json { "idWebhook": "019e0895-5e6f-7934-af26-7b903c13f5d8", "tipoEvento": "credito.analise.concluida", "dataHora": "2026-08-20T13:22:40.512Z", "grupoEconomico": "MeuGrupo", "dados": { "idProposta": 1002, "idEsteira": 12, "produto": "ep", "status": { "id": 4, "nome": "Recusado" }, "score": "512", "limiteConcedido": "0.00", "motivo": "Restrição cadastral no sócio", "novaAnaliseSolicitada": false, "podeEnviarProposta": false }, "etiquetas": null } ``` ### 🧾 Detalhamento dos Campos — `dados` | Campo | Tipo | Descrição | |-------|------|-----------| | idProposta | integer | Proposta analisada | | idEsteira | integer | Esteira da operação | | produto | string | `ep` ou `cdc` | | status | object | Resultado da análise | | score | string / null | Pontuação atribuída pelo motor | | limiteConcedido | string / null | Limite de crédito concedido | | motivo | string / null | Motivo da decisão. Preenchido nas recusas | | novaAnaliseSolicitada | boolean | `true` quando esta proposta já usou a segunda chance | | **podeEnviarProposta** | boolean | `true` apenas quando o resultado permite o envio | --- ## Resultados possíveis | `status.id` | Descrição | `podeEnviarProposta` | |---|---|---| | `6` | Aprovado | `true` | | `7` | Aprovado com alteração | `true` | | `4` | Recusado | `false` | | `11` | Pendente | `false` | | `27` | Cancelado | `false` | !!! tip "Use `podeEnviarProposta` em vez de reimplementar a regra" O campo consolida a decisão: se for `true`, o [envio da proposta](../6.%20Proposta/6.8.%20Envio%20da%20Proposta.md) vai passar pela barreira de análise. Se for `false`, tentar enviar resulta em `409`. --- ## 🧭 O que fazer ao receber ```mermaid flowchart TD A[Evento credito.analise.concluida] --> B{podeEnviarProposta} B -- true --> C[GET /credito/propostas/id] C --> D{pendencias vazio?} D -- Sim --> E[POST /envio] D -- Não --> F[Resolver pendências
documentos, bancários...] F --> C B -- false --> G{status é Recusado
e há segunda chance?} G -- Sim --> H[Completar a ficha
e submeter nova análise] G -- Não --> I[Encerrar: informar o cliente] ``` Na **jornada simplificada**, é neste ponto que a ficha completa passa a ser exigida: a análise rodou com os dados básicos, e agora você coleta o restante antes do envio. Ver [9.3. Roteiro - Jornada simplificada](../9.%20Roteiros/9.3.%20Roteiro%20-%20Jornada%20simplificada.md). --- ## ⚠️ Observações - **Recusa não é erro.** O evento é entregue normalmente e você deve responder `2xx`. A decisão está no payload. - `score`, `limiteConcedido` e `motivo` são devolvidos integralmente. Decida no seu lado o que exibir ao usuário final — informação de análise de crédito costuma ter restrição de exibição. - Se `novaAnaliseSolicitada` já vier `true` numa recusa, a proposta **não** admite outra submissão ao motor. - Esteiras com `enviarParaAnaliseCredito = false` **nunca** disparam este evento.