UpBox API

📚 API Documentation

UpBox fornece uma API RESTful simples para upload e gerenciamento de arquivos.

🔑 Limites e Regras

Parâmetro Valor Descrição
Tamanho máximo 200 MB Limite por arquivo
Formatos aceitos Todos Exceto executáveis (.exe, .bat, .sh, etc)
Duração Indefinido Arquivos não expiram automaticamente
Rate Limit Desabilitado Sem limite de requisições no momento

📡 Endpoints

POST /api/upload

Descrição: Upload de arquivos locais (multipart/form-data)

Request:

curl -X POST https://upbox.dfstech.shop/api/upload \ -F "files=@image.png" \ -F "files=@document.pdf"

Response (200 OK):

{ "success": true, "data": { "files": [ { "success": true, "file_id": 123, "short_id": "AbC123", "name": "image.png", "status": "available", "url": "https://upbox.dfstech.shop/files/AbC123.png" } ] } }

Response (Erro):

{ "success": false, "data": { "files": [ { "success": false, "errors": ["Arquivo muito grande", "Tipo não permitido"] } ] } }

POST /api/uploadByUrl

Descrição: Upload via URL pública

Request:

curl -X POST https://upbox.dfstech.shop/api/uploadByUrl \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com/image.jpg"}'

Response (200 OK):

{ "success": true, "data": { "success": true, "file_id": 124, "short_id": "XyZ456", "name": "image.jpg", "status": "available", "url": "https://upbox.dfstech.shop/files/XyZ456.jpg" } }

Response (Erro):

{ "success": false, "message": "Erro ao baixar arquivo: Servidor retornou código HTTP 404" }

GET /files/{shortId}.{ext}

Descrição: Acesso direto ao arquivo hospedado

Request:

curl https://upbox.dfstech.shop/files/AbC123.png -o downloaded.png

Response:

Retorna o arquivo diretamente com headers apropriados.

🔐 Segurança

⚠️ Erros Comuns

Código HTTP Mensagem Solução
400 MIME type inválido Tipo de arquivo não permitido
400 Arquivo muito grande Reduzir para menos de 200MB
413 Request Entity Too Large Nginx bloqueou (>200MB)
404 Arquivo não encontrado Short ID inválido ou arquivo deletado

📝 Exemplos Completos

JavaScript (Fetch API)

// Upload local const formData = new FormData(); formData.append('files', fileInput.files[0]); const response = await fetch('https://upbox.dfstech.shop/api/upload', { method: 'POST', body: formData }); const result = await response.json(); console.log(result.data.files[0].url); // Upload via URL const response2 = await fetch('https://upbox.dfstech.shop/api/uploadByUrl', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://example.com/file.pdf' }) }); const result2 = await response2.json(); console.log(result2.data.url);

Python (requests)

import requests # Upload local files = {'files': open('image.png', 'rb')} r = requests.post('https://upbox.dfstech.shop/api/upload', files=files) print(r.json()['data']['files'][0]['url']) # Upload via URL data = {'url': 'https://example.com/file.pdf'} r = requests.post('https://upbox.dfstech.shop/api/uploadByUrl', json=data) print(r.json()['data']['url'])