Appearance
@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 pessoascliente.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.
| Subpath | O que exporta |
|---|---|
@fc/cliente-pdpj/criarClientePdpj | criarClientePdpj e o tipo ClientePdpj |
@fc/cliente-pdpj/erros | ErroPdpj e suas subclasses, com statusCode e retryAfterSegundos normalizado como inteiro não negativo quando informado pelo upstream |
@fc/cliente-pdpj/tipos | os tipos públicos (OpcoesClientePdpj, UsuarioCorporativoPdpj, ParteProcessualPdpj, DadosProcessoPdpj…) e PERFIS_FUNCIONAIS_PDPJ |
@fc/cliente-pdpj/constantes | AMBIENTES_PDPJ, URLS_BASE, SERVICOS_PDPJ, os cabeçalhos de operador, TIMEOUT_PADRAO_MS, STATUS_HTTP_TRANSITORIOS_PDPJ |
@fc/cliente-pdpj/validacao/cpf | normalizarCpf, validarCpf |
@fc/cliente-pdpj/validacao/numeroProcesso | formatarNumeroProcesso, 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/extrairDadosProcesso | extrairDadosProcesso |
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:*" } }