Initial commit: LexMind - Plataforma Jurídica Inteligente
This commit is contained in:
102
scripts/testar-datajud.ts
Normal file
102
scripts/testar-datajud.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user