Ir para o conteúdo

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 /public/v1/emitentes/{id}/documentos

🔹 Path Parameter

Parâmetro Tipo Descrição
id integer Identificador único do emitente

🧪 Exemplo de cURL

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

{
  "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 /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

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

{
  "mensagem": "Documento enviado com sucesso.",
  "id": 5
}

Atualizar Documento

🔗 Endpoint

Método URL
PUT /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

{
  "mensagem": "Documento atualizado com sucesso."
}

Remover Documento

🔗 Endpoint

Método URL
DELETE /public/v1/emitentes/{id}/documentos/{idDocumento}

📥 Response — 200 OK

{
  "mensagem": "Documento removido com sucesso."
}

❌ Erros Comuns

400 Bad Request

{
  "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."
  ]
}