Pular para o conteúdo principal

Referência de Endpoints

Visão Geral

A API do Cidadão.AI fornece 50+ endpoints organizados em módulos funcionais. Cada endpoint está documentado com esquemas de requisição/resposta, requisitos de autenticação e exemplos práticos.

Categorias de Endpoints

Funcionalidade Principal

MóduloDescriçãoEndpoints
InvestigaçõesDetecção de anomalias em dados governamentais6 endpoints
AnálisesAnálise de padrões e correlações7 endpoints
RelatóriosGeração automatizada de relatórios7 endpoints
Multi-AgenteSistema de orquestração de agentes4 endpoints

Autenticação e Segurança

MóduloDescriçãoEndpoints
AutenticaçãoAutenticação de usuários e JWT9 endpoints
OAuthAutenticação de terceiros9 endpoints
AuditoriaLogs de auditoria de segurança10 endpoints

Sistema e Monitoramento

MóduloDescriçãoEndpoints
SaúdeMonitoramento de saúde do sistema4 endpoints
WebSocketComunicações em tempo real3 endpoints

Padrões Comuns

Formato de Requisição

Todos os endpoints aceitam payloads JSON com a seguinte estrutura:

{
"dados": {
"tipo": "investigacao",
"atributos": {
"consulta": "Contratos suspeitos em 2024",
"filtros": {
"ano": 2024,
"valor_minimo": 1000000
}
}
}
}

Formato de Resposta

Respostas bem-sucedidas seguem a especificação JSON:API:

{
"dados": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"tipo": "investigacao",
"atributos": {
"status": "concluida",
"anomalias_encontradas": 12
},
"relacionamentos": {
"relatorio": {
"dados": { "tipo": "relatorio", "id": "123" }
}
}
},
"meta": {
"id_requisicao": "req_123",
"duracao_ms": 245
}
}

Paginação

Endpoints de lista suportam paginação:

GET /api/v1/investigacoes?pagina[numero]=2&pagina[tamanho]=20

Filtragem

Filtragem complexa via parâmetros de consulta:

GET /api/v1/investigacoes?filtro[status]=concluida&filtro[anomalias_encontradas][gte]=5

Ordenação

Ordenação multi-campo:

GET /api/v1/investigacoes?ordenacao=-anomalias_encontradas,criado_em

Seleção de Campos

Fieldsets esparsos para otimização:

GET /api/v1/investigacoes?campos[investigacao]=id,status,anomalias_encontradas

Requisitos de Autenticação

SímboloRequisitoDescrição
🔓PúblicoNenhuma autenticação necessária
🔐AutenticadoToken JWT válido necessário
👤UsuárioPermissões de usuário padrão
👨‍💼AnalistaFunção de analista necessária
🛡️AdminFunção de administrador necessária

Limitação de Taxa

Todos os endpoints estão sujeitos à limitação de taxa:

NívelLimiteJanelaRajada
Anônimo1001 hora10
Autenticado1.0001 hora100
Premium10.0001 hora1.000

Respostas de Erro

Formato de erro consistente em todos os endpoints:

{
"erro": {
"codigo": "RECURSO_NAO_ENCONTRADO",
"mensagem": "Investigação não encontrada",
"detalhes": {
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"id_requisicao": "req_123",
"timestamp": "2025-01-30T10:15:30Z"
}
}

Exemplos de SDK

Python

from cidadao_ai import Cliente

cliente = Cliente(api_key="sua-chave")

# Criar investigação
investigacao = cliente.investigacoes.criar(
consulta="Contratos suspeitos",
fonte_dados="portal_transparencia"
)

# Verificar status
status = cliente.investigacoes.obter_status(investigacao.id)

JavaScript/TypeScript

import { CidadaoAI } from '@cidadao-ai/sdk';

const cliente = new CidadaoAI({ apiKey: 'sua-chave' });

// Criar investigação
const investigacao = await cliente.investigacoes.criar({
consulta: 'Contratos suspeitos',
fonteDados: 'portal_transparencia'
});

// Stream de resultados
const stream = cliente.investigacoes.stream(investigacao.id);
stream.on('dados', (chunk) => console.log(chunk));

Integração com Webhooks

Configure webhooks para eventos assíncronos:

{
"url": "https://sua-app.com/webhooks/cidadao-ai",
"eventos": [
"investigacao.concluida",
"anomalia.detectada",
"relatorio.gerado"
],
"segredo": "whsec_..."
}

Navegue para a documentação específica de endpoints para especificações detalhadas e exemplos.