@anpdgovbr/sip-client
v1.0.2
Published
Cliente TypeScript para integração SOAP com o SIP.
Maintainers
Readme
@anpdgovbr/sip-client
Cliente TypeScript para chamadas SOAP RPC/encoded ao webservice do SIP —
sem dependência de framework, .env ou runtime específico. A aplicação
consumidora resolve configuração, cache, autorização e persistência.
Sumário
Instalação
npm install @anpdgovbr/sip-client
# ou
yarn add @anpdgovbr/sip-client
# ou
pnpm add @anpdgovbr/sip-clientUso
import { createSipClient } from "@anpdgovbr/sip-client"
const sip = createSipClient({
endpointUrl: "https://sei.orgao.gov.br/sip/ws/SipWS.php",
accessKey: process.env.SIP_ACCESS_KEY!,
systemId: "100000100",
requestTimeoutMs: 30_000,
})
const usuario = await sip.consultas.buscarUsuarioPorSigla("usuario.exemplo")O pacote não lê variáveis de ambiente. Cada aplicação consumidora deve montar a configuração conforme seu ambiente e suas regras de segurança.
Métodos principais
Consultas
| Método | Descrição |
| ------------------------------------------------------------------------------------------- | ------------------------------------------ |
| sip.consultas.listarOrgaos({ todos }) | Lista órgãos cadastrados no SIP |
| sip.consultas.listarUnidades({ idUsuario, idUnidade }) | Lista unidades vinculadas |
| sip.consultas.buscarUsuarios({ siglaUsuario, idUsuario, idUnidade, recurso, perfil }) | Busca usuários por filtros combinados |
| sip.consultas.buscarUsuarioPorSigla(siglaUsuario) | Busca um usuário por sigla |
| sip.consultas.buscarUsuariosSemPermissao({ siglaUsuario, idUsuario }) | Usuários sem permissão associada |
| sip.consultas.carregarUsuario({ tipoServidorAutenticacao, idOrgaoUsuario, siglaUsuario }) | Carrega dados completos do usuário |
| sip.consultas.pesquisarUsuario({ tipoServidorAutenticacao, idOrgao, sigla }) | Pesquisa usuário por órgão e sigla |
| sip.consultas.listarPerfis({ idUsuario, idUnidade, filtroRecursosMenus }) | Lista perfis do usuário/unidade |
| sip.consultas.listarRecursos({ perfis, recursos }) | Lista recursos vinculados a perfis |
| sip.consultas.listarPermissoes({ idUsuario, idUnidade, idPerfil }) | Lista permissões do usuário |
| sip.consultas.buscarUsuarioComPermissoesPorSigla(siglaUsuario) | Busca usuário já com permissões resolvidas |
Replicação
| Método | Descrição |
| ------------------------------------------------ | ------------------------------------ |
| sip.replicacao.replicarUsuarios(usuarios) | Replica usuários para o SIP |
| sip.replicacao.replicarPermissoes(permissoes) | Replica permissões para o SIP |
| sip.replicacao.validarReplicacao(idReplicacao) | Valida o resultado de uma replicação |
Responsabilidades do consumidor
- Carregar e proteger
SIP_ACCESS_KEYem contexto server-side. - Definir cache, logging, auditoria e autorização da aplicação.
- Garantir que o sistema consumidor tenha os serviços necessários liberados no SIP.
Documentação
- Repositório:
github.com/anpdgovbr/sei-integrations - Guia completo:
doc/sip-client.md - Contrato WSDL/API pública:
doc/sip-contrato-wsdl.md
