ANPD SEI Integrations
    Preparing search index...

    ANPD SEI Integrations

    @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.

    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

    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.

    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, ...)
    

    @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.

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

    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
    • 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/).

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

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