Skip to content

@fc/cliente-pdpj ​

Cliente HTTP tipado para a PDPJ (Plataforma Digital do Poder Judiciário) do CNJ. Concentra hosts, paths e cabeçalhos dos serviços PDPJ em constantes do pacote, e expõe uma fachada amigável organizada por serviço:

  • cliente.processos — Consulta processual (Data Lake)
  • cliente.previdenciario — Dossiê previdenciário (PREVJUD)
  • cliente.pessoas — Cadastro de pessoas
  • cliente.corporativo — Perfis e autorizações de usuários PDPJ

Agnóstico de runtime: depende apenas de fetch global; usável em apps Nuxt, scripts CLI ou workers.

Princípio de configuração ​

Endpoints e parâmetros técnicos são constantes do pacote. O consumidor passa apenas o dinâmico: ambiente (prod | stg) e, quando fizer chamadas autenticadas, obterAccessToken (callback do JWT) e cpfOperador quando o serviço exigir a identidade do operador. Data Lake, PREVJUD e Pessoas usam o JWT pessoal do usuário; PREVJUD e Pessoas também exigem o CPF do operador. Clients anônimos para serviços públicos, como o corporativo-proxy, podem ser criados com autenticarPadrao: false sem token nem CPF operador. Quando um endpoint upstream evolui, atualiza-se o pacote e bumpa-se a versão — não se cria variável de ambiente nova.

Exemplo ​

ts
import { criarClientePdpj } from '@fc/cliente-pdpj/criarClientePdpj'

const cliente = criarClientePdpj({
  ambiente: 'prod',
  obterAccessToken: async () => '<jwt-pessoal-do-usuario>',
})

const { partes } = await cliente.processos.consultarProcesso('<numero-processo-cnj>')

Para endpoints públicos do corporativo:

ts
const corporativo = criarClientePdpj({
  ambiente: 'prod',
  autenticarPadrao: false,
})

Como consumir ​

O pacote não tem barrel raiz: @fc/cliente-pdpj não resolve. Cada módulo é publicado por subpath, e o consumidor importa o arquivo que declara o símbolo.

SubpathO que exporta
@fc/cliente-pdpj/criarClientePdpjcriarClientePdpj e o tipo ClientePdpj
@fc/cliente-pdpj/errosErroPdpj e suas subclasses, com statusCode e retryAfterSegundos normalizado como inteiro não negativo quando informado pelo upstream
@fc/cliente-pdpj/tiposos tipos públicos (OpcoesClientePdpj, UsuarioCorporativoPdpj, ParteProcessualPdpj, DadosProcessoPdpj…) e PERFIS_FUNCIONAIS_PDPJ
@fc/cliente-pdpj/constantesAMBIENTES_PDPJ, URLS_BASE, SERVICOS_PDPJ, os cabeçalhos de operador, TIMEOUT_PADRAO_MS, STATUS_HTTP_TRANSITORIOS_PDPJ
@fc/cliente-pdpj/validacao/cpfnormalizarCpf, validarCpf
@fc/cliente-pdpj/validacao/numeroProcessoformatarNumeroProcesso, normalizarNumeroProcesso, validarNumeroProcesso
@fc/cliente-pdpj/tribunal/<arquivo>derivarSiglaTribunal, escolherSiglaTribunal, classificarPerfilCorporativo (com SinaisPerfilCorporativo, ehPerfilInternoTribunal, TIPOS_CARGO_MAGISTRADO/SERVIDOR) e constantes (SIGLAS_TRIBUNAL, SIGLAS_ADMINISTRATIVAS, TIPOS_CARGO_VALIDOS, ehTipoCargoValido)
@fc/cliente-pdpj/previdenciario/<arquivo>classificacaoStatus (dossiePronto, dossieFalhou, dossieEmAndamento, dossieIndeterminado, STATUS_PRONTO/FALHA/EM_ANDAMENTO), constantes (CAMINHO_*, NOME_CLIENTE_PREVJUD), tipos (STATUS_DOSSIE, SolicitacaoDossie, StatusSolicitacaoDossie…), obterDossieCompleto (INTERVALOS_POLLING_PADRAO_MS, OpcoesObterDossieCompleto, ResultadoObterDossieCompleto)
@fc/cliente-pdpj/processos/dados-processo/extrairDadosProcessoextrairDadosProcesso
ts
import type { UsuarioCorporativoPdpj } from '@fc/cliente-pdpj/tipos'
import { criarClientePdpj } from '@fc/cliente-pdpj/criarClientePdpj'
import { ErroAutenticacaoPdpj, ErroPdpj } from '@fc/cliente-pdpj/erros'
import { validarCpf } from '@fc/cliente-pdpj/validacao/cpf'

As fábricas de namespace (corporativo/, pessoas/, processos/criarNamespaceProcessos, previdenciario/criarNamespacePrevidenciario), o http/ e o construirContexto continuam privados: chegam ao consumidor pela fachada criarClientePdpj.

Endpoints PDPJ consumidos ​

O pacote mantém, em documentação interna, o detalhamento dos endpoints upstream (paths, headers, shapes de resposta relevantes e links para os swaggers oficiais do CNJ). A identificação HTTP é definida por serviço para compatibilidade com as políticas de borda de cada upstream.

Dados de identificação do processo ​

processos.consultarProcesso é a leitura canônica do processo completo: numa única chamada reúne e deduplica as partes de todas as tramitações e extrai os dados de identificação que as calculadoras usam — autor, protocolo, citação, trânsito em julgado e valor da causa. As sugestões de autor vêm somente da tramitação de origem e incluem, como alternativas separadas, as pessoas físicas dos polos ativo e passivo; pessoas jurídicas não são elegíveis. A extração é uma função pura, com cascata de alternativas para cada campo e marcação explícita quando o valor é deduzido de outro ato processual em vez de lido diretamente. Uma contestação só serve como indício quando o movimento é efetivamente uma juntada de petição; mera menção textual a “contestação” não é aceita.

Instalação ​

jsonc
{ "dependencies": { "@fc/cliente-pdpj": "workspace:*" } }