Documentation
README
API do DJEN / Comunica PJe (CNJ)
O DJEN (DiĆ”rio de JustiƧa EletrĆ“nico Nacional) centraliza as comunicaƧƵes processuais ā intimaƧƵes, citaƧƵes e demais publicaƧƵes ā de todos os tribunais brasileiros (Resolução CNJ nĀŗ 455; cobertura nacional obrigatória desde 2025). A API pĆŗblica do Comunica PJe expƵe essas comunicaƧƵes para consulta.
DiferenƧa-chave para o DataJud: o DataJud mostra movimentaƧƵes (o que aconteceu no processo); o DJEN mostra o que dispara prazo contra o advogado. Para monitorar prazos, Ʃ o DJEN que importa.
Portal: https://comunica.pje.jus.br. Swagger: https://comunicaapi.pje.jus.br. Este guia registra o que a documentação não conta, aprendido operando a API em produção (projeto Judis, 2026).
InĆcio rĆ”pido
# ATENĆĆO: precisa rodar de IP brasileiro (ver regra nĀŗ 1)
curl 'https://comunicaapi.pje.jus.br/api/v1/comunicacao?numeroOab=123456&ufOab=SP&dataDisponibilizacaoInicio=2026-07-11&dataDisponibilizacaoFim=2026-07-12&pagina=1&itensPorPagina=50' \
-H 'Accept: application/json'
Sem autenticação, sem chave, sem cadastro. A resposta é
{ "count": <total>, "items": [ ... ] }.
As 7 regras de ouro (aprendidas em produção)
-
A API geo-bloqueia IPs fora do Brasil: HTTP 403. Funciona do seu notebook e falha no deploy ā porque sua cloud function/container estĆ” em regiĆ£o estrangeira (
us-central1,us-east-1ā¦). Rode o backend em regiĆ£o brasileira (GCPsouthamerica-east1, AWSsa-east-1). Descobrimos em smoke test de produção: mesma requisição, 200 do Brasil, 403 dos EUA. O DataJud nĆ£o tem esse bloqueio ā Ć© especĆfico do Comunica. -
itensPorPaginamĆ”ximo Ć© 50 ā e o erro Ć© silencioso. Acima de 50 a API respondeitems: []comcountpreenchido, sem erro. Parece "sem resultados", mas Ć© o parĆ¢metro. Use exatamente 50 e pagine. -
PĆ”gina vazia ā fim dos dados. Sob instabilidade a API retorna pĆ”ginas intermitentemente vazias no meio da paginação. Se
acumulado < count, retente a mesma pƔgina com backoff antes de desistir. -
Monitorando por OAB, consulte as variantes de sufixo. O filtro
numeroOabĆ© match exato de string, e cada tribunal grava a inscrição de um jeito (123456no TJSP,123456-Oou123456-Ano TJMTā¦). Sem varrer os sufixos["", "-O", "-A", "-N", "-B", "-S", "-E"], a maior parte das publicaƧƵes fica invisĆvel. E nunca case por nome do advogado ā grafias variam entre tribunais; só OAB normalizada (dĆgitos) + UF. -
countƩ capado em ~10.000 por consulta. Para volumes grandes, particione por data/tribunal em vez de paginar atƩ o fim. -
Deduplique pelo campo
id(nĆŗmero, Ćŗnico por comunicação). A mesma consulta em janelas sobrepostas retorna repetidos ā janela sobreposta Ć© inclusive recomendada (ontem+hoje) para tolerar atrasos de disponibilização. -
O campo
textoĆ© HTML de dezenas de tribunais ā trate como input hostil. Sanitize na exibição removendo nĆ£o sóscript/handlers, mas tambĆ©mclass/style/id: com CSS utilitĆ”rio global (Tailwind), umclass="fixed inset-0 z-50"vindo numa publicação cobre a tela inteira do seu app (UI redressing).
ReferĆŖncias (leia conforme a tarefa)
| Arquivo | Quando ler |
|---|---|
| references/consultas.md | Montar requests: filtros, paginação correta (com os quirks), variantes de OAB, certidão em PDF, janelas de data |
| references/resposta.md | Interpretar respostas: todos os campos (snake_case misturado com camelCase), dedupe, cancelamento de publicação, normalização |
| references/producao.md | Operar em produção: geo-bloqueio e regiões, retry/backoff/circuit breaker, tetos de segurança, sanitização de HTML, agendamento e alertas |
Relação com o DataJud
| DJEN | DataJud (skill datajud) |
|
|---|---|---|
| ConteĆŗdo | IntimaƧƵes/citaƧƵes ā o que dispara prazo | MovimentaƧƵes ā o que aconteceu |
| Autenticação | Nenhuma | Chave pública (header APIKey) |
| Geo-bloqueio | 403 para IP fora do Brasil | NĆ£o tem |
| Protocolo | GET REST com query string | POST, Elasticsearch Query DSL |
| Rate limit | NĆ£o documentado (500 sob rajada) | Cota global por chave compartilhada |
Ambas sĆ£o do CNJ, sem SLA nem versionamento formal ā projete para indisponibilidade e mudanƧas sem aviso, e mantenha na interface o aviso de que a ferramenta nĆ£o substitui a consulta oficial ao diĆ”rio.