====== 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: - Administrador do SIOP cadastra credencial no sistema. - 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. - Cliente cria sua senha definitiva através da operação WSCredencial.trocarSenha(CredencialDTO credencial, String novaSenha), observando o seguinte: - O parâmetro credencial deve contar: - login = o login cadastrado pelo administrador - senha = hash MD5 da senha temporária em maiúsculas, ou seja: MD5(UPPER([senha em texto puro])) - novaSenha deve conter entre 8 e 12 caracteres maiúsculos e números. - 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âmetro|Tipo (tamanho)|Observações| |credencial|CredencialDTO|Credencial do usuário| |novaSenha|String|senha em texto puro contendo de 8 a 12 caracteres maiúsculos e numeros | **Tipo de Retorno:** RetornoDTO **Exemplo:** Requisição: [hash md5 da senha] [login credencial] [senha contendo de 8 a 12 caracteres maiúsculos e numeros] Resposta: [identicador da requisição] true ==== 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âmetro|Tipo(tamanho)|Observações| |credencial|CredencialDTO|Para essa operação é necessário preencher apenas os atributos //email// e //usuario//.| **Tipo de Retorno:** RetornoCaptacaoDetalheBaseExternaDTO **Exemplo:** Requisição: [e-mail da credencial] [login da credencial] Resposta: [identicador da requisição] Aguarde alguns minutos que uma nova senha será enviadapara o seu e-mail cadastrado. true ===== 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. |Atributo|Tipo(tamanho)|Aceita Nulo?|Observações| |usuario|Texto|Não|Login do usuário no SIOP| |senha|Texto|Não|Hash MD5 da senha do usuário no SIOP| |perfil|Inteiro|Sim (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 ==== |Atributo|Tipo(tamanho)|Observações| |sucesso|boolean|Indica se a requisição foi processada com sucesso.| |mensagensErro|List|Contém a lista de mensagens de erro nos casos em que sucesso retornar valor igual false.|