Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@anpdgovbr/sei-integrations

SEI.SIP — Biblioteca de Integração SEI/SIP

CI npm sip-client npm sei-client license node pnpm typescript

Monorepo de bibliotecas TypeScript para integrações com SIP e SEI, mantido pela ANPD. Os pacotes são desenhados para reuso entre aplicações, sem dependência de frameworks, bancos de dados, autorização, UI ou runtime específico.

Sumário

Pacotes

Pacote Status Descrição
@anpdgovbr/sip-client 🟢 publicado Cliente SOAP RPC/encoded para o webservice do SIP.
@anpdgovbr/sei-client 🟢 publicado Cliente SOAP RPC/encoded para o webservice do SEI (SeiWS.php).
@anpdgovbr/sei-sip-soap 🟢 publicado Infraestrutura SOAP compartilhada pelos clientes (uso interno/base).
Identidade visual

Marca SEI.SIP: integração, padrão, segurança, escalabilidade, agnóstica, modular, reutilizável

Uso rápido

Instale o(s) pacote(s) que precisar com o gerenciador de sua preferência:

npm install @anpdgovbr/sip-client @anpdgovbr/sei-client
# ou
yarn add @anpdgovbr/sip-client @anpdgovbr/sei-client
# ou
pnpm add @anpdgovbr/sip-client @anpdgovbr/sei-client

Consultar permissões/usuários no SIP:

import { createSipClient } from "@anpdgovbr/sip-client"

const sip = createSipClient({
  endpointUrl: process.env.SIP_SOAP_ENDPOINT!,
  accessKey: process.env.SIP_ACCESS_KEY!,
  systemId: process.env.SIP_SYSTEM_ID!,
  requestTimeoutMs: 30_000,
})

const usuario = await sip.consultas.buscarUsuarioPorSigla("joao.silva")

Consultar ou operar processos/documentos no SEI:

import { createSeiClient } from "@anpdgovbr/sei-client"

const sei = createSeiClient({
  endpointUrl: process.env.SEI_SOAP_ENDPOINT!,
  siglaSistema: process.env.SEI_SIGLA_SISTEMA!,
  identificacaoServico: process.env.SEI_IDENTIFICACAO_SERVICO!,
  requestTimeoutMs: 30_000,
})

const proc = await sei.consultas.consultarProcedimento({
  idUnidade: "110000001",
  protocoloProcedimento: "00000.000001/2026-01",
})

Nenhum dos dois pacotes lê .env — a aplicação consumidora monta a configuração e decide como carregá-la. Veja os guias completos em Documentação para autenticação, tratamento de erros e a API completa de cada pacote.

Fronteira de responsabilidade

Os clientes são agnósticos de aplicação. Eles não leem .env, não conhecem Next.js, Prisma, RBAC, UI, auditoria ou regras de produto. A aplicação consumidora deve resolver configuração, cache, autorização, logging e persistência.

O fluxo funcional coberto pelos pacotes é:

aplicação consumidora ──▶ sip-client ──▶ SIP SOAP (usuários, unidades, perfis, permissões)
aplicação consumidora ──▶ sei-client ──▶ SEI SOAP (processos, documentos, blocos, publicações, ...)

Quando usar cada pacote

@anpdgovbr/sip-client — quando a aplicação precisa consultar ou replicar usuários, unidades, perfis, recursos e permissões do sistema cadastrado no SIP. Esse é o caminho esperado para autorização e sincronização vinculadas ao SIP.

@anpdgovbr/sei-client — para integrações diretas com o Web Service do SEI (SeiWS.php): consulta e criação de processos e documentos, tramitação, blocos, marcadores, controle de prazo, anotações, publicações, e-mail e ouvidoria. A API segue o contrato do SEI 5.0.4 e foi validada contra o código-fonte oficial e em ambiente de homologação.

@anpdgovbr/sei-sip-soap — não consuma diretamente em aplicações finais. É a base compartilhada de transporte SOAP (envelope, parsing, erros) publicada para resolver a dependência de runtime dos dois clientes.

Composição própria na aplicação — quando a regra depende de produto, banco, cache, RBAC, auditoria, UI, filas ou orquestração entre múltiplas fontes. Essas decisões não devem entrar nos clientes base.

Desenvolvimento

pnpm install
pnpm format:check
pnpm lint
pnpm typecheck
pnpm test
pnpm test:coverage
pnpm build

Documentação

Referência completa da API (classes, tipos e funções dos três pacotes), gerada com TypeDoc: https://anpdgovbr.github.io/sei-integrations/

Guias de uso, também disponíveis na própria referência acima (seção "Guias"):

Documento Conteúdo
Guia do sip-client Uso detalhado do cliente SIP
Guia do sei-client Uso detalhado do cliente SEI
Contrato SIP WSDL Contrato público do webservice
Migração de consumidores Passo a passo de adoção do pacote

CI/CD e ferramental

  • branch de integração: dev;
  • branch de homologação/release: main;
  • pacotes publicados em npmjs.org sob o escopo @anpdgovbr; a ANPD também mantém um espelho interno em registry próprio para uso institucional;
  • CI em GitHub Actions: lint, typecheck, testes com cobertura, build e verificação de changesets a cada push/PR (ci.yml), documentação de API publicada via TypeDoc/GitHub Pages (docs.yml) e release automatizado por Changesets (release.yml);
  • a ANPD mantém em paralelo um pipeline interno no GitLab (.gitlab-ci.yml) com SonarQube, detecção de segredos e publicação no registry institucional;
  • dependências base centralizadas no catalog do pnpm-workspace.yaml;
  • versionamento via Changesets em modo global entre os pacotes;
  • documentação de API gerada com TypeDoc via pnpm run docs (saída em docs/).

Segurança

Para relatar vulnerabilidades, siga as instruções em SECURITY.md. Não abra issues públicas para problemas de segurança.

Contribuindo

Veja CONTRIBUTING.md para o fluxo de contribuição, padrões de commit e requisitos antes de abrir um Pull Request.

About

Bibliotecas TypeScript para integrações com SIP e SEI

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages