--- title: 6.6. Documentos url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/6.%20Proposta/6.6.%20Documentos/ --- # 6.6. Documentos !!! 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}/documentos` | | ![POST](https://img.shields.io/badge/POST-blue) | `/credito/propostas/{idProposta}/documentos/{idDocumento}` | | ![GET](https://img.shields.io/badge/GET-green) | `/credito/propostas/{idProposta}/documentos/{idDocumento}/download` | --- ## 🧾 Descrição Gerencia a coleta dos documentos exigidos pela proposta. !!! important "A lista é definida pela plataforma, não por você" Você **não escolhe** quais documentos enviar. A lista é montada quando a proposta é criada, a partir do tipo de pessoa do tomador e do papel de cada pessoa vinculada. Seu trabalho é consultar a lista, enviar cada arquivo e acompanhar o que falta. --- ## Listar documentos exigidos ### 🧪 Exemplo de cURL ```bash curl -X GET "https://api.vehub.com.br/credito/propostas/1001/documentos" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" ``` ### 📥 Response — `200 OK` ```json { "registros": [ { "id": 91, "tipoDocumento": "Documento de identificação", "pessoa": "João da Silva", "enviado": true }, { "id": 92, "tipoDocumento": "Comprovante de residência", "pessoa": "João da Silva", "enviado": false }, { "id": 93, "tipoDocumento": "Comprovante de renda", "pessoa": "João da Silva", "enviado": false } ], "paginacao": { "pagina": 1, "quantidade": 50, "total": 3 }, "mensagem": null } ``` ### 🧾 Detalhamento dos Campos | Campo | Tipo | Descrição | |-------|------|-----------| | id | integer | Identificador do documento **nesta proposta**. É o `idDocumento` do envio | | tipoDocumento | string | Descrição do tipo exigido | | pessoa | string | A quem o documento se refere: o tomador, um sócio ou um representante legal | | enviado | boolean | `true` quando já há arquivo associado | --- ## Quais documentos são exigidos ### Tomador pessoa física | Documento | Validade | |---|---| | Documento de identificação | 12 meses | | Comprovante de residência | 3 meses | | Comprovante de renda | 3 meses | ### Tomador pessoa jurídica | Documento | Validade | |---|---| | Contrato ou estatuto social | 12 meses | | Comprovante de residência | 3 meses | ### Pessoas vinculadas à pessoa jurídica | Papel | Documentos exigidos | |---|---| | **Representante legal** pessoa física | Identificação, comprovante de residência **e** comprovante de renda | | **Sócio** pessoa física, sem ser representante legal | Apenas identificação | | **Sócio** pessoa jurídica | Contrato ou estatuto social | A lista é **recalculada** se você alterar o tipo de pessoa do tomador ou os representantes legais via `PUT /credito/propostas/{idProposta}/tomador`. --- ## Enviar documento ### 📦 Formato `multipart/form-data` com o campo `arquivo`. | Campo | Tipo | Obrigatório | Descrição | |-------|------|-------------|-----------| | arquivo | binário | Sim | O arquivo do documento | Extensões aceitas: `pdf`, `jpg`, `png`, `docx`, `xlsx`. ### 🧪 Exemplo de cURL ```bash curl -X POST "https://api.vehub.com.br/credito/propostas/1001/documentos/92" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ -F "arquivo=@comprovante-residencia.pdf" ``` ### 📥 Response — `200 OK` ```json { "sucesso": true, "mensagem": "Documento enviado com sucesso.", "dados": null } ``` ### ❌ 400 Bad Request ```json { "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1", "status": 400, "errors": [ { "campo": "arquivo", "mensagem": "Extensão não permitida. Aceitas: pdf, jpg, png, docx, xlsx." } ] } ``` --- ## Substituir um documento enviado por engano Basta **reenviar** no mesmo `idDocumento`. A proposta passa a considerar a última versão enviada. ```bash curl -X POST "https://api.vehub.com.br/credito/propostas/1001/documentos/92" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ -F "arquivo=@comprovante-correto.pdf" ``` O histórico de versões permanece associado à **pessoa**, não à proposta. Não há operação de exclusão: para corrigir, reenvie. --- ## Baixar o documento enviado ```bash curl -X GET "https://api.vehub.com.br/credito/propostas/1001/documentos/92/download" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ --output comprovante.pdf ``` Devolve o arquivo com o `Content-Type` original. Use-o para conferir o que subiu e para reapresentar o documento ao usuário final. ### ❌ 404 Not Found Quando o documento existe na lista mas ainda não tem arquivo associado. --- ## ⚠️ Documentos podem já vir enviados Documentos do mesmo tomador ainda **dentro da validade** são reaproveitados entre propostas. Isso significa que uma proposta nova pode nascer com itens marcados como `enviado: true` **sem que você tenha enviado nada**. É o comportamento desejado: evita pedir ao cliente, a cada operação, um documento que a plataforma já tem e que continua válido. Consequência prática: **não presuma que a lista começa toda em `false`.** Consulte-a e envie apenas o que estiver pendente. --- ## 🧭 Quando os documentos são obrigatórios Todos os documentos da lista precisam estar enviados antes do [envio da proposta](6.8.%20Envio%20da%20Proposta.md) — a plataforma recusa o envio com documentação incompleta, e as pendências aparecem em [6.10. Consultar, Listar e Pendências](6.10.%20Consultar,%20Listar%20e%20Pendências.md). Na **jornada simplificada** (`dadosSimplificadosAnaliseCredito = true`), a submissão ao motor de crédito acontece **antes** da coleta — você só junta a documentação depois da aprovação. Ver [9.3. Roteiro - Jornada simplificada](../9.%20Roteiros/9.3.%20Roteiro%20-%20Jornada%20simplificada.md).