Skip to main content

Bem-vindo à API DataSnap

A API DataSnap fornece endpoints completos para gerenciar seus esquemas de dados, gerar tokens de upload e executar consultas. Esta documentação cobre todos os endpoints disponíveis com exemplos detalhados e formatos de resposta.

Como funciona o DataSnap

O DataSnap segue um fluxo simples e eficiente em duas etapas principais:
1

Upload de Arquivos

⚠️ Sistema antigo descontinuado
O endpoint POST /api/v1/schemas/{slug}/files não funciona mais.

Novo sistema: Gere um token de upload e faça upload direto para a nuvem.
Endpoints:
  • POST /api/v1/schemas/logs-de-acoes/generate-upload-token (gerar token)
  • PUT {upload_url}/nome-arquivo.jsonl (fazer upload)
2

Consultas

Realize consultas SQL avançadas nos dados com suporte a filtros, agrupamentos e paginação. Você pode realizar consultas via API ou no DataSnap Web.Endpoint: POST /api/v1/schemas/{slug}/query

Autenticação

Todos os endpoints da API requerem autenticação usando tokens Bearer. Inclua seu token no cabeçalho Authorization de cada requisição:
Authorization: Bearer SEU_TOKEN_AQUI
A API utiliza tokens JWT para acesso seguro aos seus dados de esquema, geração de tokens de upload e execução de consultas.
Mantenha seu token seguro e nunca o exponha em código público. Use variáveis de ambiente para armazenar suas credenciais.

URLs Base

Produção: https://api.datasnap.cloud

Endpoints Principais

Upload de Arquivos (Novo Sistema)

Gerenciamento e Consultas

Formato dos Dados

JSONL (JSON Lines)

O DataSnap trabalha exclusivamente com arquivos no formato JSONL, onde cada linha contém um objeto JSON válido:
{"id": 1, "nome": "João Silva", "idade": 30, "cidade": "São Paulo"}
{"id": 2, "nome": "Maria Santos", "idade": 25, "cidade": "Rio de Janeiro"}
{"id": 3, "nome": "Carlos Oliveira", "idade": 35, "cidade": "Belo Horizonte"}

Validação Automática

Todos os arquivos são validados automaticamente durante o upload:
  • ✅ Cada linha deve ser um JSON válido
  • ✅ Estrutura consistente entre linhas
  • ✅ Tamanho máximo de 10MB por arquivo (recomendado)

Códigos de Resposta

CódigoSignificadoDescrição
200SucessoRequisição processada com sucesso
400Requisição InválidaParâmetros ou dados inválidos
401Não AutorizadoToken inválido ou ausente
404Não EncontradoEsquema ou recurso não encontrado
422Erro de ValidaçãoDados não atendem aos critérios de validação
500Erro do ServidorErro interno do sistema
Nota sobre Upload: O novo sistema de upload funciona em duas etapas:
  1. POST /api/v1/schemas/{slug}/generate-upload-token - Gera URL de upload
  2. PUT {upload_url}/nome-arquivo.jsonl - Faz upload direto para nuvem
Não há mais processamento intermediário - os dados ficam disponíveis para consulta imediatamente após o upload.

Exemplo de Fluxo Completo

Veja um exemplo prático de como usar toda a API:
# 1. Gerar token de upload
curl -X POST \
  "https://api.datasnap.cloud/api/v1/schemas/seu-schema/generate-upload-token" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"minutes": 15}'

# 2. Upload direto para nuvem (usando URL retornada)
curl -X PUT \
  "{pre_signed_url}/dados.jsonl" \
  -H "Content-Type: application/octet-stream" \
  --data-binary "@dados.jsonl"

# 3. Executar consulta
curl -X POST \
  "https://api.datasnap.cloud/api/v1/schemas/logs-de-acoes/query" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "select": ["cidade", "sum(valor) as total_vendas"],
    "group_by": ["cidade"],
    "order_by": [{"field": "total_vendas", "direction": "desc"}],
    "limit": 10
  }'

Limites e Quotas

A API DataSnap implementa limites para garantir estabilidade e performance para todos os usuários.

Resumo dos Limites

  • Upload: 10MB máximo por arquivo (recomendado para melhor experiência)
  • Listagem: 100 requisições por minuto
  • Consultas: 50 requisições por minuto
  • Geração de tokens: 2 requisições por minuto
Para informações detalhadas sobre todos os limites, estratégias de otimização e exemplos de código, consulte nossa documentação completa de Limites e Quotas.

Boas Práticas

  • Gere tokens apenas quando necessário - evite expiração desnecessária
  • Monitore expiração das URLs - tokens válidos por tempo limitado
  • Use nomes únicos para arquivos - evite conflitos no upload
  • Valide dados localmente - formato JSONL obrigatório
  • Mantenha arquivos abaixo de 10MB - para melhor performance
  • Implemente retry - para uploads que podem falhar temporariamente
  • Use paginação - para consultas com muitos resultados

Suporte

Precisa de ajuda? Nossa equipe está pronta para auxiliar: