Bem-vindo à API DataSnap

A API DataSnap fornece endpoints completos para gerenciar seus esquemas de dados, executar consultas e processar arquivos. 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 três etapas principais:
1

Upload de Arquivos

Faça upload dos seus arquivos JSONL para um esquema específico. O sistema valida automaticamente o formato e detecta duplicatas.Endpoint: POST /api/v1/schemas/{slug}/files
2

Processamento

Execute ou deixe o sistema executar automaticamente o processamento dos arquivos enviados para prepará-los para consultas otimizadas.Endpoint: POST /api/v1/schemas/{slug}/process-files
3

Consultas

Realize consultas SQL avançadas nos dados processados 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 e capacidades de processamento de arquivos.
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.com.br

Endpoints Principais

Upload e Gerenciamento de Arquivos

Processamento 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 100MB por arquivo
  • ✅ Detecção automática de duplicatas via hash MD5

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
429Limite ExcedidoMuitas requisições em pouco tempo
500Erro do ServidorErro interno do sistema

Exemplo de Fluxo Completo

Veja um exemplo prático de como usar toda a API:
# 1. Upload de arquivo
curl -X POST \
  "https://api.datasnap.com.br/api/v1/schemas/vendas/files" \
  -H "Authorization: Bearer $TOKEN" \
  -F "files=@dados_vendas.jsonl"

# 2. Processar arquivos
curl -X POST \
  "https://api.datasnap.com.br/api/v1/schemas/vendas/process-files" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json"

# 3. Executar consulta
curl -X POST \
  "https://api.datasnap.com.br/api/v1/schemas/vendas/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: 100MB máximo por arquivo
  • Listagem: 100 requisições por minuto
  • Consultas: 50 requisições por minuto
  • Processamento: 10 requisições por 5 minutos
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

  • Use paginação para consultas grandes
  • Implemente retry para requisições que podem falhar temporariamente
  • Monitore o status de processamento antes de fazer consultas
  • Valide dados localmente antes do upload

Suporte

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