--- title: 4.5. Documentos do Emitente url: https://docs.vehub.com.br/API/Nota%20Comercial/4.%20Emitentes/4.5.%20Documentos/ --- # 4.5. Documentos do Emitente Gerencia os documentos obrigatórios do emitente, como contrato social, balanço financeiro, procurações, entre outros. --- ## Listar Documentos ### 🔗 Endpoint | Método | URL | |--------|-----| | ![GET](https://img.shields.io/badge/GET-green) | `/public/v1/emitentes/{id}/documentos` | ### 🔹 Path Parameter | Parâmetro | Tipo | Descrição | |-----------|------|-----------| | id | integer | Identificador único do emitente | ### 🧪 Exemplo de cURL ```bash curl -X GET https://api.vehub.com.br/public/v1/emitentes/42/documentos \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" ``` ### 📥 Response — `200 OK` ```json { "registros": [ { "id": 5, "tipoDocumento": "Contrato Social", "nomeArquivo": "contrato-social.pdf", "linkDownload": "https://storage.vehub.com.br/docs/contrato-social.pdf" } ], "paginacao": { "paginaAtual": 1, "paginaTotal": 1, "paginaQuantidadeRegistro": 10, "quantidadeRegistros": 1, "temProximaPagina": false, "temPaginaAnterior": false } } ``` #### Detalhamento dos Campos — `registros[]` | Campo | Tipo | Descrição | |-------|------|-----------| | id | integer | Identificador único do documento | | tipoDocumento | string | Nome do tipo de documento | | nomeArquivo | string | Nome do arquivo enviado | | linkDownload | string | URL para download do arquivo | --- ## Enviar Documento ### 🔗 Endpoint | Método | URL | |--------|-----| | ![POST](https://img.shields.io/badge/POST-blue) | `/public/v1/emitentes/{id}/documentos` | ### 🧾 Descrição Faz o upload de um documento do emitente. O envio é realizado como `multipart/form-data`. Para consultar os tipos de documentos disponíveis, utilize o endpoint de enumerações: `GET /public/v1/enumeracoes/tipo-documento`. ### 📋 Payload (multipart/form-data) | Campo | Tipo | Obrigatório | Descrição | |-------|------|-------------|-----------| | idTipoDocumento | integer | Sim | ID do tipo do documento (ver Enumerações) | | nomeDocumento | string | Sim | Nome descritivo do documento | | arquivo | file | Sim | Arquivo do documento (PDF, JPG ou PNG, máx. 20 MB) | ### 🧪 Exemplo de cURL ```bash curl -X POST https://api.vehub.com.br/public/v1/emitentes/42/documentos \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ -F "idTipoDocumento=1" \ -F "nomeDocumento=Contrato Social 2024" \ -F "arquivo=@/caminho/para/contrato-social.pdf" ``` ### 📥 Response — `201 Created` ```json { "mensagem": "Documento enviado com sucesso.", "id": 5 } ``` --- ## Atualizar Documento ### 🔗 Endpoint | Método | URL | |--------|-----| | ![PUT](https://img.shields.io/badge/PUT-orange) | `/public/v1/emitentes/{id}/documentos/{idDocumento}` | ### 🔹 Path Parameters | Parâmetro | Tipo | Descrição | |-----------|------|-----------| | id | integer | Identificador único do emitente | | idDocumento | integer | Identificador único do documento | O payload segue o mesmo formato do endpoint de envio. O campo `arquivo` é opcional na atualização — se não enviado, mantém o arquivo atual. ### 📥 Response — `200 OK` ```json { "mensagem": "Documento atualizado com sucesso." } ``` --- ## Remover Documento ### 🔗 Endpoint | Método | URL | |--------|-----| | ![DELETE](https://img.shields.io/badge/DELETE-red) | `/public/v1/emitentes/{id}/documentos/{idDocumento}` | ### 📥 Response — `200 OK` ```json { "mensagem": "Documento removido com sucesso." } ``` --- ## ❌ Erros Comuns ### 400 Bad Request ```json { "tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.1", "titulo": "Atenção", "status": 400, "erros": [ "Campo 'idTipoDocumento' é obrigatório.", "O arquivo enviado excede o tamanho máximo permitido de 20 MB." ] } ```