Ir para o conteúdo

API de Arquivos

A API de Arquivos é responsável por todo o ciclo de vida dos arquivos no sistema, incluindo o upload, o download direto e a geração de URLs de acesso temporário. Todos os endpoints operam sob o prefixo /lbg.

Nota – Autenticação Todos os endpoints descritos abaixo requer autenticação via JWT.
Para acessá-los, é necessário enviar um token de autorização no cabeçalho da requisição:

Authorization: Bearer <seu_token_jwt>

1. Realizar Upload de Arquivo

Este endpoint recebe um arquivo e o associa a uma coluna específica de um registro em uma base. A requisição deve ser do tipo multipart/form-data.

Endpoint:

POST /lbg/:nome_base/file/upload/:nome_coluna

Parâmetros de Rota:

Parâmetro Tipo Descrição
nome_base string Nome da base onde o arquivo será associado.
nome_coluna string Nome da coluna/tabela de arquivo (ex:brlight_album_capa_album_file).

Corpo da Requisição (multipart/form-data): A requisição deve conter os seguintes campos de formulário:

Campo Tipo Descrição
file File (Obrigatório) O arquivo a ser enviado.
idioma string (Opcional) O código de idioma do arquivo/mídia (ex: "pt-BR").

Exemplo de Resposta (201 Created):

{
  "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  "fileName": "capa-album.jpg",
  "mimeType": "image/jpeg",
  "size": 450230
}

Códigos de Status:

  • 201 Created: Arquivo enviado com sucesso.
  • 400 Bad Request: Dados inválidos ou faltando (ex: nenhum arquivo enviado).
  • 401 Unauthorized: Falha na autenticação.

2. Realizar Download de Arquivo

Este endpoint permite o download direto do conteúdo binário de um arquivo, com base no seu ID.

Endpoint:

GET /lbg/:nome_base/file/:id/download

Parâmetros de Rota:

Parâmetro Tipo Descrição
nome_base string Nome da base onde o arquivo está localizado.
id string O ID do arquivo a ser baixado.

Exemplo de Resposta (200 OK): A resposta não será um JSON. Em vez disso, será o conteúdo bruto do arquivo (ex: a imagem, o PDF, etc.), com os cabeçalhos HTTP apropriados (Content-Type, Content-Disposition) para que o navegador trate a resposta como um download.

Códigos de Status:

  • 200 OK: Download iniciado com sucesso.
  • 401 Unauthorized: Falha na autenticação.
  • 404 Not Found: Arquivo com o ID especificado não encontrado.

3. Obter URL de Download do Arquivo

Este endpoint gera e retorna uma URL temporária e pré-assinada para acessar um arquivo diretamente do serviço de armazenamento (Minio). É útil para exibir imagens ou fornecer links de download sem sobrecarregar o servidor da aplicação.

Endpoint:

GET /lbg/:nome_base/file/:id/getMinioUrlDownload

Parâmetros de Rota:

Parâmetro Tipo Descrição
nome_base string Nome da base onde o arquivo está localizado.
id string O ID do arquivo.

Exemplo de Resposta (200 OK):

{
  "url": "[https://seu-servidor-minio.com/bucket/nome_do_arquivo.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=](https://seu-servidor-minio.com/bucket/nome_do_arquivo.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=)..."
}

Códigos de Status:

  • 200 OK: URL gerada com sucesso.
  • 401 Unauthorized: Falha na autenticação.
  • 404 Not Found: Arquivo com o ID especificado não encontrado.