#!/usr/bin/env npx ts-node /** * Script de Teste da API DataJud * Testa a conexão e busca um processo de exemplo */ // API Key pública do DataJud (CNJ) const DATAJUD_API_KEY = 'cDZHYzlZa0JadVREZDJCendQbXY6SkJlTzNjLV9TRENyQk1RdnFKZGRQdw==' const DATAJUD_BASE_URL = 'https://api-publica.datajud.cnj.jus.br' async function testarDataJud() { console.log('='.repeat(60)) console.log('🧪 Testando conexão com API DataJud (CNJ)') console.log('='.repeat(60)) // Teste 1: Buscar um processo aleatório console.log('\n1. Buscando processo de exemplo no TJSP...') const url = `${DATAJUD_BASE_URL}/api_publica_tjsp/_search` try { const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `APIKey ${DATAJUD_API_KEY}`, }, body: JSON.stringify({ size: 1, query: { bool: { must: [ { exists: { field: 'movimentos' } } ], filter: [ { range: { '@timestamp': { gte: 'now-7d' } } } ] } } }), }) if (!response.ok) { console.log(`❌ Erro HTTP: ${response.status}`) const text = await response.text() console.log(text.substring(0, 500)) return } const data = await response.json() console.log(`✅ Resposta OK - ${data.hits?.total?.value || 0} processos no índice`) if (data.hits?.hits?.length > 0) { const processo = data.hits.hits[0]._source console.log(`\n📄 Processo encontrado:`) console.log(` Número: ${processo.numeroProcesso}`) console.log(` Classe: ${processo.classe?.nome || 'N/A'}`) console.log(` Tribunal: ${processo.tribunal}`) console.log(` Movimentos: ${processo.movimentos?.length || 0}`) // Mostrar últimos movimentos const ultimos = (processo.movimentos || []).slice(-5) console.log('\n Últimos movimentos:') ultimos.forEach((m: any) => { console.log(` - ${m.dataHora?.substring(0, 10)} | ${m.nome} (código: ${m.codigo})`) }) } // Teste 2: Buscar processo específico (se existir) console.log('\n\n2. Testando busca por número específico...') const response2 = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `APIKey ${DATAJUD_API_KEY}`, }, body: JSON.stringify({ size: 1, query: { match: { numeroProcesso: '10000000020248260100' // Exemplo fictício } } }), }) const data2 = await response2.json() const found = data2.hits?.hits?.length > 0 console.log(` Processo de teste: ${found ? '✅ Encontrado' : '➖ Não encontrado (esperado)'}`) console.log('\n' + '='.repeat(60)) console.log('✅ API DataJud funcionando corretamente!') console.log('='.repeat(60)) } catch (error) { console.error('❌ Erro ao conectar:', error) } } testarDataJud()