Pular para o conteúdo principal

Obter Upload por ID

GET /backend/uploads/{id}
Resposta (200):
{
  "id": "uuid",
  "tenant_id": "uuid",
  "filename": "foto_produto",
  "file_type": "media",
  "file_url": "https://api.leavo.ai/media/proxy/tenant_id/uuid.jpg",
  "mime_type": "image/jpeg",
  "size": 1048576,
  "status": "PENDING",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Listar Uploads do Tenant

GET /backend/uploads/tenant/{tenantId}
Retorna todos os uploads do tenant, ordenados por data de criação.

Atualizar Status

PUT /backend/uploads/{id}/status
Body:
{
  "status": "ASSOCIATED"
}
StatusDescrição
PENDINGUpload ainda não vinculado
ASSOCIATEDUpload vinculado a uma entidade (protegido contra limpeza)

Excluir Upload

DELETE /backend/uploads/{id}
Remove o arquivo do storage e o registro do banco de dados. Resposta: 200 OK

Limpar Uploads Órfãos

POST /backend/uploads/cleanup?hours=24
Remove uploads com status PENDING mais antigos que o número de horas especificado.
ParâmetroTipoPadrãoDescrição
hoursinteger24Horas mínimas desde a criação

Acesso Público aos Arquivos

Os arquivos podem ser acessados publicamente através do proxy de mídia:
GET /media/proxy/{path}
O proxy define os headers:
  • Content-Type: tipo MIME do arquivo
  • Cache-Control: public, max-age=86400 (24 horas)
  • Access-Control-Allow-Origin: *