ANPD SEI Integrations
    Preparing search index...

    Operações somente leitura do SIP.

    Esta classe não conhece framework, banco, cache, auditoria ou UI. Ela é deliberadamente fina: recebe config, chama SOAP e devolve tipos TypeScript. Isso mantém o pacote portável entre aplicações.

    Em aplicações que usam SipClient, acesse esta classe via sipClient.consultas.

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

    const consultas = new SipConsultasClient({
    endpointUrl: "https://sei.orgao.gov.br/sip/ws/SipWS.php",
    accessKey: "minha-chave",
    systemId: "100000100",
    requestTimeoutMs: 30_000,
    })

    const orgaos = await consultas.listarOrgaos()
    Index
    • Helper composto que busca um usuário pela sigla e suas permissões em uma única chamada de alto nível (duas requisições ao SIP).

      Parameters

      • siglaUsuario: string

        Login exato do usuário no SIP.

      Returns Promise<
          | Readonly<
              {
                  permissoes: Readonly<
                      {
                          dataFinal: string
                          | null;
                          dataInicial: string;
                          idOrgaoUnidade: string | null;
                          idOrgaoUsuario: string | null;
                          idOrigemUnidade: string | null;
                          idOrigemUsuario: string | null;
                          idPerfil: string;
                          idSistema: string;
                          idUnidade: string;
                          idUsuario: string;
                          sinSubunidades: boolean;
                      },
                  >[];
                  usuario: SipUsuario;
              },
          >
          | null,
      >

      Objeto com usuario e permissoes, ou null se o usuário não existir.

      SipSoapError em caso de falha em qualquer uma das duas requisições.

      const resultado = await consultas.buscarUsuarioComPermissoesPorSigla("joao.silva")
      if (resultado) {
      const { usuario, permissoes } = resultado
      console.log(usuario.nome, permissoes.length)
      }
    • Retorna o primeiro usuário encontrado pela sigla (login), ou null.

      Parameters

      • siglaUsuario: string

        Login exato do usuário no SIP.

      Returns Promise<
          | Readonly<
              {
                  ativo: boolean;
                  cpf: string
                  | null;
                  email: string | null;
                  id: string;
                  idOrgao: string | null;
                  idOrigem: string | null;
                  nome: string;
                  nomeSocial: string | null;
                  sigla: string;
                  unidades: string[];
              },
          >
          | null,
      >

      O usuário encontrado, ou null se não existir.

      Conveniente para lookups pontuais. Para obter também as permissões, use buscarUsuarioComPermissoesPorSigla.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      const usuario = await consultas.buscarUsuarioPorSigla("joao.silva")
      if (usuario) console.log(usuario.nome)
    • Busca usuários cadastrados no SIP com base em filtros combinativos.

      Parameters

      Returns Promise<
          Readonly<
              {
                  ativo: boolean;
                  cpf: string
                  | null;
                  email: string | null;
                  id: string;
                  idOrgao: string | null;
                  idOrigem: string | null;
                  nome: string;
                  nomeSocial: string | null;
                  sigla: string;
                  unidades: string[];
              },
          >[],
      >

      Lista de usuários que atendem a todos os filtros informados.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      const usuarios = await consultas.buscarUsuarios({ idUnidade: "110000075" })
      
    • Lista usuários cadastrados no SIP que não possuem nenhuma permissão no sistema configurado.

      Útil para auditorias de acesso e limpeza de contas obsoletas.

      Parameters

      Returns Promise<
          Readonly<
              {
                  ativo: boolean;
                  cpf: string
                  | null;
                  email: string | null;
                  id: string;
                  idOrgao: string | null;
                  idOrigem: string | null;
                  nome: string;
                  nomeSocial: string | null;
                  sigla: string;
                  unidades: string[];
              },
          >[],
      >

      Lista de usuários sem permissão.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

    • Carrega os dados de um usuário diretamente do servidor de autenticação configurado no SIP para o órgão informado.

      Parameters

      Returns Promise<
          | Readonly<
              {
                  cpf: string
                  | null;
                  email: string | null;
                  idOrgao: string | null;
                  nome: string;
                  nomeSocial: string | null;
                  sigla: string;
              },
          >
          | null,
      >

      Dados do usuário no diretório, ou null se não encontrado.

      Diferente de buscarUsuarios, esta operação consulta o diretório externo (ex.: LDAP/AD) e não o banco interno do SIP. O resultado não incluí id, ativo nem unidades.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

    • Lista os órgãos cadastrados no SIP.

      Parameters

      • params: SipListarOrgaosParams = {}

        Filtros opcionais. Passe { todos: false } para retornar apenas órgãos ativos.

      Returns Promise<
          Readonly<
              { ativo: boolean; descricao: string; id: string; sigla: string },
          >[],
      >

      Lista de órgãos.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      const ativos = await consultas.listarOrgaos({ todos: false })
      
    • Lista os perfis cadastrados no SIP para o sistema configurado.

      Parameters

      • params: SipListarPerfisParams = {}

        Filtros e controle de profundidade da resposta. Use filtroRecursosMenus: "T" para incluir recursos e menus.

      Returns Promise<
          Readonly<
              {
                  ativo: boolean;
                  descricao: string
                  | null;
                  grupos: Readonly<{ ativo: boolean; id: string; nome: string }>[];
                  id: string;
                  menus: Readonly<
                      {
                          ativo: boolean;
                          id: string;
                          itens: Readonly<
                              {
                                  ativo: boolean;
                                  id: string;
                                  idRecurso: (...)
                                  | (...);
                                  ramificacao: (...) | (...);
                                  rotulo: string;
                              },
                          >[];
                          nome: string;
                      },
                  >[];
                  nome: string;
                  recursos: Readonly<
                      {
                          ativo: boolean;
                          descricao: string
                          | null;
                          id: string;
                          nome: string;
                      },
                  >[];
              },
          >[],
      >

      Lista de perfis.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      // Inclui recursos e menus de cada perfil
      const perfis = await consultas.listarPerfis({ filtroRecursosMenus: "T" })
    • Lista as permissões ativas no sistema configurado, com filtros opcionais.

      Parameters

      Returns Promise<
          Readonly<
              {
                  dataFinal: string
                  | null;
                  dataInicial: string;
                  idOrgaoUnidade: string | null;
                  idOrgaoUsuario: string | null;
                  idOrigemUnidade: string | null;
                  idOrigemUsuario: string | null;
                  idPerfil: string;
                  idSistema: string;
                  idUnidade: string;
                  idUsuario: string;
                  sinSubunidades: boolean;
              },
          >[],
      >

      Lista de permissões.

      Omitir todos os filtros retorna todas as permissões do sistema. Use com cautela em sistemas com muitos usuários.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      const permissoes = await consultas.listarPermissoes({ idUsuario: "100000103" })
      
    • Lista os recursos (permissões atômicas) do sistema configurado.

      Parameters

      Returns Promise<string[]>

      Lista de nomes de recursos (ex.: ["documento_gerar", "processo_consultar"]).

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      // Somente recursos do perfil 100000940
      const recursos = await consultas.listarRecursos({ perfis: ["100000940"] })
    • Lista as unidades organizacionais visíveis pelo sistema configurado.

      Parameters

      • params: SipListarUnidadesParams = {}

        Filtros opcionais. Aceita idUsuario para filtrar por usuário ou idUnidade para uma unidade específica.

      Returns Promise<
          Readonly<
              {
                  ativo: boolean;
                  descricao: string;
                  id: string;
                  idOrgao: string
                  | null;
                  idOrigem: string | null;
                  sigla: string;
                  subunidades: string[];
                  unidadesSuperiores: string[];
              },
          >[],
      >

      Lista de unidades.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.

      const unidades = await consultas.listarUnidades({ idUsuario: "100000103" })
      
    • Pesquisa um usuário no diretório externo sem filtrar pelo sistema configurado.

      Parameters

      Returns Promise<
          | Readonly<
              {
                  cpf: string
                  | null;
                  email: string | null;
                  idOrgao: string | null;
                  nome: string;
                  nomeSocial: string | null;
                  sigla: string;
              },
          >
          | null,
      >

      Dados do usuário no diretório, ou null se não encontrado.

      Semelhante a carregarUsuario, mas usa os campos idOrgao e sigla (sem sufixo Usuario), conforme a operação pesquisarUsuario do WSDL.

      SipSoapError em caso de falha de comunicação ou SOAP Fault.