Documentação da API

Documentação completa dos endpoints disponíveis na API do EaseaBot

URL Base
Todas as requisições devem ser feitas para:
https://cdn.easebot.app
POST/api/upload
Fazer upload de um arquivo

Descrição

Faz upload de um arquivo para o servidor. Retorna informações do arquivo incluindo ID único e URL de acesso.

Limitações

  • Tamanho máximo: 100MB
  • Rate limit: 10 uploads por minuto por IP
  • Concorrência: Máximo 5 uploads simultâneos por IP
  • Extensões permitidas: Imagens, vídeos, áudios, documentos, arquivos de código, compactados

Request

Content-Type: multipart/form-data

FormData:
  file: File (obrigatório)

Exemplo (cURL)

curl -X POST https://cdn.easebot.app/api/upload \
  -F "file=@/caminho/para/arquivo.jpg"

Exemplo (JavaScript)

const formData = new FormData();
formData.append('file', fileInput.files[0]);

const response = await fetch('https://cdn.easebot.app/api/upload', {
  method: 'POST',
  body: formData
});

const data = await response.json();

Response (200 OK)

{
  "id": "a1b2c3d4e5f6g7h8",
  "filename": "imagem.jpg",
  "size": 1024000,
  "type": "image/jpeg",
  "url": "/api/file/a1b2c3d4e5f6g7h8"
}

Erros

429 Too Many Requests

{
  "error": "Muitas requisições. Tente novamente em alguns instantes.",
  "retryAfter": 45
}

400 Bad Request

{
  "error": "Arquivo muito grande. Máximo: 100MB"
}

Headers de Resposta

  • X-RateLimit-Limit: Limite de requisições (10)
  • X-RateLimit-Remaining: Requisições restantes
  • X-RateLimit-Reset: Timestamp de reset
GET/api/file/[id]
Obter arquivo por ID

Descrição

Retorna o arquivo binário ou informações do arquivo (para arquivos de texto).

Parâmetros

  • id (path): ID único do arquivo

Exemplo

GET https://cdn.easebot.app/api/file/a1b2c3d4e5f6g7h8

Response (200 OK)

Para arquivos binários (imagens, vídeos, etc):

Retorna o arquivo binário com Content-Type apropriado

Para arquivos de texto:

{
  "filename": "arquivo.txt",
  "contentType": "text/plain",
  "size": "2.5 KB",
  "uploadDate": "2025-01-15 10:30:00",
  "content": "Conteúdo do arquivo..."
}

Erros

404 Not Found

{
  "error": "Arquivo não encontrado"
}
GET/files/[...path]
Acessar arquivo por caminho

Descrição

Acessa arquivos através do caminho completo. Suporta parâmetros de query para redimensionamento.

Parâmetros de Query

  • size (opcional): Tamanho da imagem (thumbnail, small, medium, large, xlarge)
  • quality (opcional): Qualidade da imagem (1-100)

Exemplo

GET https://cdn.easebot.app/files/imagem.jpg?size=medium&quality=80
GET/api/sizes
Obter tamanhos e opções disponíveis

Descrição

Retorna lista de tamanhos padrão, algoritmos e formatos suportados.

Exemplo

GET https://cdn.easebot.app/api/sizes

Response (200 OK)

{
  "standardSizes": [
    "thumbnail",
    "small",
    "medium",
    "large",
    "xlarge",
    "original"
  ],
  "algorithms": [
    "lanczos",
    "bicubic",
    "cubic",
    "nearest"
  ],
  "formats": [
    "jpeg",
    "png",
    "webp",
    "gif",
    "mp4",
    "webm"
  ]
}
Segurança
Medidas de segurança implementadas

Rate Limiting

Limite de 10 uploads por minuto por IP. Headers de rate limit são incluídos em todas as respostas.

Controle de Concorrência

Máximo de 5 uploads simultâneos por IP para evitar sobrecarga do servidor.

Validação de Arquivos

  • Validação de extensões permitidas
  • Validação de tipos MIME
  • Sanitização de nomes de arquivo
  • Proteção contra path traversal
  • Limite de tamanho (100MB)