Initial commit: LexMind - Plataforma Jurídica Inteligente
This commit is contained in:
118
docs/INTEGRACAO-DIARIOS.md
Normal file
118
docs/INTEGRACAO-DIARIOS.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# Integração com Diários Oficiais - LexMind
|
||||
|
||||
## Visão Geral
|
||||
|
||||
O LexMind agora possui integração real com a API DataJud do CNJ para buscar publicações processuais automaticamente.
|
||||
|
||||
## Fontes de Dados
|
||||
|
||||
### 1. API DataJud (CNJ) - Fonte Principal
|
||||
- **URL Base:** https://api-publica.datajud.cnj.jus.br/
|
||||
- **Autenticação:** API Key pública do CNJ
|
||||
- **Tribunais Suportados:** Todos os TJs, TRFs, STJ, STF, TST
|
||||
- **Dados Retornados:** Movimentações processuais (publicações, intimações, citações, etc.)
|
||||
|
||||
### 2. DJe TJSP (Backup - não implementado)
|
||||
- Pode ser adicionado via scraping se necessário
|
||||
|
||||
## Arquivos Criados/Modificados
|
||||
|
||||
```
|
||||
src/lib/
|
||||
├── diarios-service.ts # Service principal de integração
|
||||
├── publicacoes-service.ts # Cálculo de prazos e tipos
|
||||
|
||||
src/app/api/publicacoes/buscar/
|
||||
├── route.ts # API atualizada para busca real
|
||||
|
||||
scripts/
|
||||
├── buscar-publicacoes.ts # Script de busca diária (cron)
|
||||
├── testar-datajud.ts # Teste de conexão com API
|
||||
├── teste-integracao.ts # Teste completo do service
|
||||
├── teste-standalone.ts # Teste isolado
|
||||
```
|
||||
|
||||
## Uso
|
||||
|
||||
### Busca Manual (via API)
|
||||
```bash
|
||||
# Buscar publicações de um processo específico
|
||||
curl -X POST https://lexmind.com.br/api/publicacoes/buscar \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Cookie: <session>" \
|
||||
-d '{"processoId": "cuid-do-processo"}'
|
||||
|
||||
# Buscar todos os processos ativos do usuário
|
||||
curl -X POST https://lexmind.com.br/api/publicacoes/buscar \
|
||||
-H "Cookie: <session>"
|
||||
```
|
||||
|
||||
### Busca Diária (Cron)
|
||||
```bash
|
||||
cd /var/www/lexmind
|
||||
npx ts-node scripts/buscar-publicacoes.ts
|
||||
```
|
||||
|
||||
### Testes
|
||||
```bash
|
||||
# Testar conexão com DataJud
|
||||
npx ts-node scripts/testar-datajud.ts
|
||||
|
||||
# Testar busca com processo real
|
||||
npx ts-node scripts/teste-standalone.ts
|
||||
```
|
||||
|
||||
## Tipos de Publicação Detectados
|
||||
|
||||
| Tipo | Código CNJ | Keywords |
|
||||
|------|------------|----------|
|
||||
| INTIMACAO | 12265, 12021 | intimação, fica intimado |
|
||||
| CITACAO | 14, 12037 | citação, fica citado |
|
||||
| SENTENCA | 22, 848 | sentença, julgo procedente |
|
||||
| ACORDAO | 217, 219 | acórdão, acordam os desembargadores |
|
||||
| DESPACHO | 11010, 11383 | despacho, determino |
|
||||
| PUBLICACAO | 92 | (genérico) |
|
||||
|
||||
## Cálculo de Prazos
|
||||
|
||||
- INTIMACAO/CITACAO/SENTENCA/ACORDAO: 15 dias úteis
|
||||
- DESPACHO: 5 dias úteis
|
||||
- OUTROS: 5 dias úteis
|
||||
|
||||
## Rate Limiting
|
||||
|
||||
- Delay de 500ms entre requisições em lote
|
||||
- Busca processos dos últimos 30 dias por padrão
|
||||
|
||||
## Configuração do Cron
|
||||
|
||||
Para executar a busca diariamente às 7h:
|
||||
|
||||
```bash
|
||||
# Via crontab no servidor
|
||||
0 7 * * * cd /var/www/lexmind && /usr/bin/npx ts-node scripts/buscar-publicacoes.ts >> /var/log/lexmind-publicacoes.log 2>&1
|
||||
|
||||
# Ou via Clawdbot (remoto)
|
||||
clawdbot cron add "0 7 * * *" "ssh jarvis-do 'cd /var/www/lexmind && npx ts-node scripts/buscar-publicacoes.ts'"
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### API retorna erro 401
|
||||
- Verificar se a API Key está correta
|
||||
- A key pública do CNJ raramente muda
|
||||
|
||||
### Processo não encontrado
|
||||
- Verificar formato do número (20 dígitos sem formatação)
|
||||
- Verificar se o tribunal está correto
|
||||
- Alguns processos podem estar em sigilo
|
||||
|
||||
### Timeout na busca
|
||||
- Aumentar delay entre requisições
|
||||
- Verificar conectividade de rede
|
||||
|
||||
## Manutenção
|
||||
|
||||
- Monitorar logs de busca diária
|
||||
- Verificar se há novos códigos de movimentos no CNJ
|
||||
- Atualizar mapeamento de tribunais se necessário
|
||||
111
docs/PUBLICACOES.md
Normal file
111
docs/PUBLICACOES.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# Módulo de Monitoramento de Publicações
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Este módulo permite que advogados monitorem publicações nos Diários Oficiais (DJe, DOU, DOESP) relacionadas aos seus processos. O sistema calcula automaticamente prazos com base no tipo de publicação.
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- **Cadastro de processos** para monitoramento
|
||||
- **Busca de publicações** (mock para MVP)
|
||||
- **Cálculo automático de prazos** com base no tipo de publicação
|
||||
- **Dashboard** com estatísticas e alertas
|
||||
- **Filtros** por tipo, processo, período, status de leitura
|
||||
- **Marcação de publicações** como lidas
|
||||
|
||||
## Tipos de Publicação e Prazos
|
||||
|
||||
| Tipo | Prazo Padrão |
|
||||
|------|--------------|
|
||||
| Intimação | 15 dias úteis |
|
||||
| Citação | 15 dias úteis |
|
||||
| Sentença | 15 dias úteis (recurso) |
|
||||
| Despacho | 5 dias úteis |
|
||||
| Acórdão | 15 dias úteis (embargos/recurso) |
|
||||
| Outros | 5 dias úteis |
|
||||
|
||||
## API Endpoints
|
||||
|
||||
### Processos
|
||||
|
||||
- `GET /api/processos` - Lista processos monitorados
|
||||
- `POST /api/processos` - Cadastra novo processo
|
||||
- `GET /api/processos/[id]` - Detalhes de um processo
|
||||
- `PUT /api/processos/[id]` - Atualiza processo
|
||||
- `DELETE /api/processos/[id]` - Remove processo
|
||||
|
||||
### Publicações
|
||||
|
||||
- `GET /api/publicacoes` - Lista publicações (com filtros)
|
||||
- `PATCH /api/publicacoes/[id]/visualizar` - Marca como lida
|
||||
- `POST /api/publicacoes/buscar` - Busca novas publicações
|
||||
|
||||
## Configuração de Busca Automática (Cron Job)
|
||||
|
||||
### Opção 1: Cron do Sistema
|
||||
|
||||
```bash
|
||||
# Editar crontab
|
||||
crontab -e
|
||||
|
||||
# Adicionar linha para buscar diariamente às 8h
|
||||
0 8 * * * curl -X POST http://localhost:3000/api/publicacoes/buscar -H "Cookie: session=..." >> /var/log/lexmind-publicacoes.log 2>&1
|
||||
```
|
||||
|
||||
### Opção 2: Scheduler Externo
|
||||
|
||||
Use serviços como:
|
||||
- **cron-job.org** (gratuito)
|
||||
- **EasyCron**
|
||||
- **GitHub Actions** (scheduled workflow)
|
||||
|
||||
Configurar para fazer POST em `/api/publicacoes/buscar` diariamente.
|
||||
|
||||
## Integração com APIs Reais (Futuro)
|
||||
|
||||
Para substituir o mock por APIs reais dos tribunais:
|
||||
|
||||
1. Editar `src/lib/publicacoes-service.ts`
|
||||
2. Implementar `buscarPublicacoesTribunal(tribunal, numeroProcesso)`
|
||||
3. APIs sugeridas:
|
||||
- **Datajud** (CNJ) - https://datajud-wiki.cnj.jus.br/
|
||||
- **e-SAJ** (TJSP) - via scraping
|
||||
- **PJe** - via API onde disponível
|
||||
|
||||
## Schema do Banco
|
||||
|
||||
```prisma
|
||||
model ProcessoMonitorado {
|
||||
id String @id @default(cuid())
|
||||
userId String
|
||||
numeroProcesso String // Formato CNJ: 0000000-00.0000.0.00.0000
|
||||
tribunal String // Ex: TJSP, TRF3, STJ
|
||||
vara String?
|
||||
comarca String?
|
||||
parteAutora String?
|
||||
parteRe String?
|
||||
status ProcessoStatus @default(ATIVO)
|
||||
publicacoes Publicacao[]
|
||||
}
|
||||
|
||||
model Publicacao {
|
||||
id String @id @default(cuid())
|
||||
processoId String
|
||||
dataPublicacao DateTime
|
||||
diario String // Ex: DJe, DOU, DOESP
|
||||
conteudo String @db.Text
|
||||
tipo TipoPublicacao
|
||||
prazoCalculado DateTime?
|
||||
prazoTipo String?
|
||||
visualizado Boolean @default(false)
|
||||
}
|
||||
```
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.0.0 (MVP)
|
||||
- Cadastro e gerenciamento de processos
|
||||
- Dashboard de publicações
|
||||
- Busca mock para testes
|
||||
- Cálculo automático de prazos
|
||||
- Filtros e marcação de leitura
|
||||
Reference in New Issue
Block a user