Ferramentas do usuário

Ferramentas do site


webservices:manual-wscredencial

WEB-Service para Gestão de Credencial de Acesso

Informações Gerais

Serviço

Nome: Web Service para gestão de credencial de acesso aos serviços
Nome na interface: WSCredencial
Início da operação: 31/05/2017
Endereço do WSDL - Testes https://testews.siop.gov.br/services/credencial/WSCredencial?wsdl
Endereço do WSDL - Produção https://webservice.siop.gov.br/services/credencial/WSCredencial?wsdl

Objetivo

Fornecer uma interface que possibilite a interoperabilidade entre os sistemas governamentais e o SIOP para a troca e recuperação da senha da credencial de acesso aos demais web services, oferecendo um processo mais seguro.

Operações

Este serviço disponibiliza apenas duas operações, um para troca e outra para recuperação de uma nova senha. Vale aqui relembrar que o processo de cadastro de credencial funciona da seguinte forma:

  1. Administrador do SIOP cadastra credencial no sistema.
  2. O SIOP cria a credencial com marcação para exigir troca de senha e envia uma senha provisória para o e-mail da credencial.
  3. Cliente cria sua senha definitiva através da operação WSCredencial.trocarSenha(CredencialDTO credencial, String novaSenha), observando o seguinte:
    1. O parâmetro credencial deve contar:
      1. login = o login cadastrado pelo administrador
      2. senha = hash MD5 da senha temporária em maiúsculas, ou seja: MD5(UPPER([senha em texto puro]))
    2. novaSenha deve conter entre 8 e 12 caracteres maiúsculos e números.
  4. Caso o cliente esqueça sua senha, é possível gerar uma nova através da operação WSCredencial.gerarNovaSenha(CredencialDTO credencial) e voltar para o passo 2.

2.1 Trocar Senha

Operação para troca de senha da credencial de acesso.

Nome da operação na interface do serviço: trocarSenha

Parâmetro(s) de entrada:

ParâmetroTipo (tamanho)Observações
credencialCredencialDTOCredencial do usuário
novaSenhaStringsenha em texto puro contendo de 8 a 12 caracteres maiúsculos e numeros

Tipo de Retorno: RetornoDTO

Exemplo:

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:trocarSenha>
         <credencial>
            <senha>[hash md5 da senha]</senha>
            <usuario>[login credencial]</usuario>
         </credencial>
         <novaSenha>[senha contendo de 8 a 12 caracteres maiúsculos e numeros]</novaSenha>
      </ser:trocarSenha>
   </soapenv:Body>
</soapenv:Envelope>

Resposta:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/">
   <env:Header>
      <sof:request>[identicador da requisição]</sof:request>
   </env:Header>
   <env:Body>
      <ns2:trocarSenhaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/">
         <return>
            <sucesso>true</sucesso>
         </return>
      </ns2:trocarSenhaResponse>
   </env:Body>
</env:Envelope>

2.2 Gerar Nova Senha

Operação obtenção de nova senha por e-mail

Nome da operação na interface do serviço: gerarNovaSenha

Parâmetro(s) de entrada:

ParâmetroTipo(tamanho)Observações
credencialCredencialDTOPara essa operação é necessário preencher apenas os atributos email e usuario.

Tipo de Retorno: RetornoCaptacaoDetalheBaseExternaDTO

Exemplo:

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:gerarNovaSenha>
         <credencial>
            <email>[e-mail da credencial]</email>
            <usuario>[login da credencial]</usuario>
         </credencial>
      </ser:gerarNovaSenha>
   </soapenv:Body>
</soapenv:Envelope>

Resposta:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/">
   <env:Header>
      <sof:request>[identicador da requisição]</sof:request>
   </env:Header>
   <env:Body>
      <ns2:gerarNovaSenhaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/">
         <return>
            <mensagensErro>Aguarde alguns minutos que uma nova senha será enviadapara o seu e-mail cadastrado.</mensagensErro>
            <sucesso>true</sucesso>
         </return>
      </ns2:gerarNovaSenhaResponse>
   </env:Body>
</env:Envelope>

Estruturas de Entrada/Saída e Retorno

As informações que trafegam pelo serviço são organizadas em estruturas de dados que atuam como entrada (parâmetros) e retorno das operações. Enquanto os dados são manipulados pelos sistemas, seja nos clientes ou no servidor, essas informações ficam alocadas em entidades que, no contexto de web services, podem ser chamadas de Objetos de Transferência de Dados, ou DTOs (sigla de Data Transfer Objects). Um DTO é uma classe de objetos que descreve os atributos (e as operações de atribuição e consulta de seus valores) de determinado conceito envolvido no domínio de um problema. No momento da comunicação, seja na requisição ou na resposta, os DTOs são transformados em estruturas XML formatadas de acordo com a especificação contida no documento descritor do web service (WSDL).

As linguagens de programação modernas possuem ferramentas que automatizam o processo de construção dos DTOs a partir do WSDL, bem como bibliotecas com funcionalidades que tornam transparente para o desenvolvedor o processo de tradução de DTO para XML e vice-versa.

Entradas

CredencialDTO

Esta estrutura é composta pelas informações necessárias para que a aplicação cliente se identifique junto ao serviço. A credencial a ser utilizada nos web services do SIOP é específica para esse fim e não é válida para acessar a aplicação web.

AtributoTipo(tamanho)Aceita Nulo?Observações
usuarioTextoNãoLogin do usuário no SIOP
senhaTextoNãoHash MD5 da senha do usuário no SIOP
perfilInteiroSim (apenas para operações de consultas de tabelas de apoio).Perfil com o qual o usuário deseja realizar determinada operação. Não é obrigatório na operação obterTabelasApoioQuantitativo.

RetornoDTO

AtributoTipo(tamanho)Observações
sucessobooleanIndica se a requisição foi processada com sucesso.
mensagensErroList<String>Contém a lista de mensagens de erro nos casos em que sucesso retornar valor igual false.