API REST - Versao atual

Documentacao da API XT3 Storage

Guia completo para upload, acesso privado/publico e consulta de metadados.

Base URL https://xt3.pro
Autenticacao

Header X-API-Key

Formato

JSON para respostas e erros

Quick Start

1 chamada para upload

Depois de criar sua conta, use a chave privada para subir arquivos e receber URL de acesso.

Exemplo rapido
# Upload rapido
curl -X POST https://xt3.pro/api/upload.php \
  -H "X-API-Key: SUA_CHAVE_PRIVADA" \
  -F "file=@arquivo.pdf" \
  -F "public=1"

Autenticacao

Header obrigatorio
  • Upload: use sua chave privada no header X-API-Key.
  • Leitura privada: use chave publica para acessar arquivos privados.
  • Arquivos publicos: nao exigem chave para download direto.

Upload de Arquivo

POST /api/upload.php

Envie o arquivo em multipart/form-data. Os campos public e folder sao opcionais.

Campos aceitos

  • file: arquivo binario (obrigatorio)
  • public: 1 para arquivo publico
  • folder: nome da pasta de organizacao

Resposta esperada

  • success booleano
  • file.url com hash unico
  • file.folder quando pasta for usada
cURL
# Upload completo
curl -X POST https://xt3.pro/api/upload.php \
  -H "X-API-Key: SUA_CHAVE_PRIVADA" \
  -F "file=@seu_arquivo.pdf" \
  -F "public=1" \
  -F "folder=contratos"
PHP (cURL)
# Upload via PHP
$ch = curl_init('https://xt3.pro/api/upload.php');
$file = new CURLFile('seu_arquivo.pdf', 'application/pdf', 'seu_arquivo.pdf');

curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'X-API-Key: SUA_CHAVE_PRIVADA'
  ],
  CURLOPT_POSTFIELDS => [
    'file' => $file,
    'public' => '1',
    'folder' => 'contratos'
  ]
]);

$response = curl_exec($ch);
curl_close($ch);
echo $response;
Resposta JSON
# Exemplo de resposta
{
  "success": true,
  "file": {
    "id": 123,
    "url": "https://xt3.pro/f/SEU_HASH_AQUI.pdf",
    "filename": "seu_arquivo.pdf",
    "size": 1048576,
    "is_public": true,
    "folder": {
      "name": "contratos",
      "hash": "ab12cd34ef56ab78"
    }
  }
}

Acesso aos Arquivos

Publico e Privado
Arquivo publico
# Sem autenticacao
https://xt3.pro/f/SEU_HASH_AQUI.pdf
Arquivo privado
# Com chave publica
curl https://xt3.pro/f/SEU_HASH_AQUI/ \
  -H "X-API-Key: SUA_CHAVE_PUBLICA"

Metadados

GET /f/HASH/?info=1

Para retornar apenas informacoes do arquivo (sem baixar o conteudo), use ?info=1.

Consulta de metadados
# Metadados do arquivo
curl https://xt3.pro/f/SEU_HASH_AQUI/?info=1 \
  -H "X-API-Key: SUA_CHAVE_PUBLICA"

Erros comuns

Diagnostico rapido
401 / 403

Chave ausente, invalida ou sem permissao para o recurso solicitado.

413

Arquivo excede o tamanho maximo permitido pelo seu plano atual.

404

Hash nao encontrado ou arquivo removido.

200

Operacao concluida com sucesso.

Pastas e Organizacao

Isolamento por conta

O campo folder cria (ou reutiliza) uma pasta por usuario. O nome e normalizado e cada pasta possui hash unico internamente.

  • Use nomes simples como clientes, financeiro e 2026.
  • Pastas de contas diferentes nao conflitam, mesmo com o mesmo nome.
  • A visibilidade do arquivo (public) e independente da pasta.