--- title: 6.10. Consultar, Listar e Pendências url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/6.%20Proposta/6.10.%20Consultar%2C%20Listar%20e%20Pend%C3%AAncias/ --- # 6.10. Consultar, Listar e Pendências !!! warning "Especificação — em construção" Os serviços descritos nesta área ainda não estão disponíveis. ## 🔗 Endpoints | Método | URL | |--------|-----| | ![GET](https://img.shields.io/badge/GET-green) | `/credito/propostas/{idProposta}` | | ![GET](https://img.shields.io/badge/GET-green) | `/credito/esteiras/{idEsteira}/propostas` | | ![DELETE](https://img.shields.io/badge/DELETE-red) | `/credito/propostas/{idProposta}` | --- ## 🧾 Descrição A consulta da proposta é o **serviço mais importante da integração**. Além do estado atual, ela responde a pergunta que o seu código precisa fazer a cada passo: **o que falta e qual é a próxima etapa?** Use-a em vez de replicar a ordem das etapas no seu fluxo. A ordem muda por configuração da esteira; a resposta desta consulta não. --- ## Consultar proposta ### 🧪 Exemplo de cURL ```bash curl -X GET "https://api.vehub.com.br/credito/propostas/1001" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" ``` ### 📥 Response — `200 OK` ```json { "sucesso": true, "mensagem": null, "dados": { "id": 1001, "idEsteira": 12, "produto": "ep", "simulacao": { "status": { "id": 16, "nome": "Retorno do motor de crédito recebido" }, "dataCriacao": "2026-08-20T13:04:11Z", "dataGeracaoProposta": null, "numeroCcb": null, "temErro": false, "erros": null, "dadosFinanceiros": { "tipoSimulacao": 1, "taxa": 1.99, "valorSolicitado": 18000.00, "quantidadeParcelas": 24, "fluxoIrregular": false, "nroDiasIntervaloPrazo": null, "valorParcelaDesejada": null, "dataPrimeiroVencimento": "2026-10-10", "valorSeguro": 120.00, "valorOutrasDespesas": 0.00, "valorOutrosServicos": 30.00, "cet": { "valor": 2563.20, "percentualMensal": 2.10, "percentualAnual": 28.30 }, "juros": { "valor": 2150.60, "percentualMensal": 1.99, "percentualAnual": 26.65 }, "iof": { "valor": 412.30, "percentual": 2.31 }, "totais": { "parcela": 850.00, "valorTotal": 20400.00, "valorDesembolso": 18000.00 }, "parcelas": [ ] } }, "tomador": { }, "analiseCredito": { "status": { "id": 6, "nome": "Aprovado" }, "score": "742", "limiteConcedido": "25000.00", "motivo": null, "dataHoraRetorno": "2026-08-20T13:22:40Z", "novaAnaliseSolicitada": false }, "dadosBancarios": { "idBanco": 1, "agencia": "12345", "conta": "9876543", "tipoConta": 2 }, "destinatarioDesembolso": null, "parceiroOriginador": null, "proximaEtapa": "documentos", "pendencias": [ { "etapa": "documentos", "codigo": "documento_nao_enviado", "mensagem": "Comprovante de residência não enviado.", "referencia": 92 }, { "etapa": "documentos", "codigo": "documento_nao_enviado", "mensagem": "Comprovante de renda não enviado.", "referencia": 93 } ], "acoesDisponiveis": ["documentos", "avalistas", "garantias"] } } ``` ### 🧾 Detalhamento dos Campos | Campo | Tipo | Descrição | |-------|------|-----------| | id | integer | Identificador da proposta | | idEsteira | integer | Esteira à qual a proposta pertence | | produto | string | `ep` ou `cdc` | | simulacao | object | Estado e valores financeiros — ver [6.2](6.2.%20Simulação%20da%20Proposta.md) | | tomador | object | Ficha do tomador — ver [4.2](../4.%20Tomador/4.2.%20Pessoa%20Física%20e%20Situação%20de%20Renda.md) e [4.3](../4.%20Tomador/4.3.%20Pessoa%20Jurídica%20e%20Representantes.md) | | analiseCredito | object / null | Resultado do motor — ver [6.7](6.7.%20Análise%20de%20Crédito.md) | | dadosBancarios | object / null | Conta do tomador. Nulo quando o desembolso vai ao parceiro | | destinatarioDesembolso | integer / null | `1` Emitente, `2` Parceiro. **Sempre `null` em EP** | | parceiroOriginador | object / null | Parceiro atrelado, quando o desembolso vai a ele | | **proximaEtapa** | string | A etapa que você deve executar em seguida | | **pendencias** | array | O que impede a proposta de avançar | | **acoesDisponiveis** | array | Etapas que aceitam chamada no estado atual | --- ## Como usar `proximaEtapa` e `pendencias` Em vez de codificar a sequência de etapas, faça um laço: ```mermaid flowchart TD A[GET /credito/propostas/id] --> B{proximaEtapa} B -- tomador --> C[PUT /tomador] B -- dados_bancarios --> D[PUT /dados-bancarios] B -- desembolso --> E[PUT /desembolso] B -- simulacao --> F[POST /simulacao] B -- documentos --> G[POST /documentos/id] B -- analise_credito --> H[POST /analise-credito] B -- envio --> I[POST /envio] B -- assinatura --> J[Aguardar formalização] B -- concluido --> K[Fim] C --> A D --> A E --> A F --> A G --> A H --> A I --> A ``` Esse desenho sobrevive a mudanças de configuração da esteira: se o negócio ligar a jornada simplificada ou o desembolso ao parceiro, o seu código continua funcionando. ### Valores de `proximaEtapa` | Valor | Significado | |---|---| | `tomador` | Completar a ficha do tomador | | `dados_bancarios` | Informar a conta do tomador | | `desembolso` | Informar o parceiro originador (CDC) | | `simulacao` | Gravar as condições financeiras | | `avalistas` | Etapa opcional pendente de decisão | | `garantias` | Etapa opcional pendente de decisão | | `documentos` | Enviar documentos exigidos | | `analise_credito` | Submeter ao motor de crédito | | `envio` | Enviar à bancarizadora | | `assinatura` | Nada a fazer: formalização em curso | | `concluido` | Operação finalizada | ### Estrutura de `pendencias[]` | Campo | Tipo | Descrição | |-------|------|-----------| | etapa | string | Etapa à qual a pendência pertence, com os mesmos valores de `proximaEtapa` | | codigo | string | Identificador estável da pendência, para tratamento programático | | mensagem | string | Texto legível, adequado para exibir ao operador | | referencia | integer / null | Id do recurso relacionado, quando aplicável (ex.: o `idDocumento` pendente) | > **`pendencias` vazio e `proximaEtapa` igual a `envio`** é a condição que garante que o > [envio](6.8.%20Envio%20da%20Proposta.md) vai passar. --- ## Listar propostas ### 🔹 Query Parameters | Parâmetro | Tipo | Descrição | |-----------|------|-----------| | pagina | integer | Página, começando em `1` | | quantidade | integer | Registros por página. Máximo `100` | | ordem | string | Campo de ordenação | | direcaoOrdem | string | `asc` ou `desc` | | nome | string | Filtro por nome do tomador | | documento | string | Filtro por CPF ou CNPJ | | status | array | Um ou mais códigos de status | | dataContrato | date | Filtro por data da operação | | dataPrimeiraParcela | date | Filtro por vencimento da primeira parcela | ### 🧪 Exemplo de cURL ```bash curl -X GET "https://api.vehub.com.br/credito/esteiras/12/propostas?pagina=1&quantidade=50&status=1&status=16" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" ``` ### 📥 Response — `200 OK` ```json { "registros": [ { "id": 1001, "idContrato": 5001, "nome": "João da Silva", "documento": "12345678900", "valorEmprestimo": 18000.00, "dataContrato": "2026-08-20", "dataPrimeiraParcela": "2026-10-13", "status": 16, "statusPagamento": 0, "cobrancasRegistradas": false } ], "paginacao": { "pagina": 1, "quantidade": 50, "total": 137 }, "mensagem": null } ``` | Campo | Tipo | Descrição | |-------|------|-----------| | id | integer | Identificador da proposta | | idContrato | integer | Identificador do contrato, usado nos serviços de carteira | | valorEmprestimo | number | Valor da operação | | status | integer | Ver [2.1. Enumerações](../2.%20Enumerações/2.1.%20Enumerações.md) | | cobrancasRegistradas | boolean | `true` quando já há cobrança emitida para o contrato | --- ## Cancelar proposta ### 🔗 Endpoint | Método | URL | |--------|-----| | ![DELETE](https://img.shields.io/badge/DELETE-red) | `/credito/propostas/{idProposta}` | ### 📥 Response — `200 OK` ```json { "sucesso": true, "mensagem": "Proposta cancelada com sucesso.", "dados": null } ``` ### ❌ 409 Conflict ```json { "type": "https://tools.ietf.org/html/rfc9110#section-15.5.10", "status": 409, "errors": [ { "campo": null, "mensagem": "Somente propostas em digitação podem ser canceladas. Situação atual: Aguardando assinaturas." } ] } ``` !!! important "O cancelamento por API é limitado a *Em digitação*" Depois que a proposta é submetida ao motor ou enviada à bancarizadora, o cancelamento passa a ser operação de plataforma, feita pelo time de operações. Não há endpoint público para cancelar uma proposta já registrada.