#!/usr/bin/env npx ts-node /** * Teste Standalone da API DataJud * Não depende de imports externos */ const DATAJUD_API_KEY = 'cDZHYzlZa0JadVREZDJCendQbXY6SkJlTzNjLV9TRENyQk1RdnFKZGRQdw==' interface Movimento { codigo: number nome: string dataHora: string orgaoJulgador?: { nome: string } complementosTabelados?: Array<{ nome: string }> } async function buscarDataJud(numeroProcesso: string, tribunal: string) { const endpoint = `api_publica_${tribunal.toLowerCase()}` const url = `https://api-publica.datajud.cnj.jus.br/${endpoint}/_search` const numeroLimpo = numeroProcesso.replace(/\D/g, '') const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `APIKey ${DATAJUD_API_KEY}`, }, body: JSON.stringify({ size: 1, query: { match: { numeroProcesso: numeroLimpo } }, }), }) if (!response.ok) { throw new Error(`HTTP ${response.status}: ${await response.text()}`) } return await response.json() } async function main() { console.log('='.repeat(60)) console.log('🧪 Teste Standalone - API DataJud') console.log('='.repeat(60)) // Teste com processo que encontramos antes const processoNumero = '1000044-50.2025.8.26.0220' console.log(`\n📋 Buscando: ${processoNumero}`) try { const data = await buscarDataJud(processoNumero, 'TJSP') const hits = data.hits?.hits || [] if (hits.length === 0) { console.log('❌ Processo não encontrado') return } const processo = hits[0]._source console.log(`\n✅ Processo encontrado!`) console.log(` Classe: ${processo.classe?.nome}`) console.log(` Órgão: ${processo.orgaoJulgador?.nome}`) console.log(` Total movimentos: ${processo.movimentos?.length || 0}`) // Filtrar publicações const publicacoes = (processo.movimentos || []).filter((m: Movimento) => m.codigo === 92 || // Publicação m.nome?.toLowerCase().includes('publicação') || m.nome?.toLowerCase().includes('intimação') || m.nome?.toLowerCase().includes('citação') ) console.log(`\n📰 Publicações/Intimações (${publicacoes.length}):`) publicacoes.slice(0, 10).forEach((m: Movimento, i: number) => { console.log(` ${i + 1}. ${m.dataHora?.substring(0, 10)} | ${m.nome}`) }) } catch (error) { console.error('❌ Erro:', error) } } main()