Foram desenvolvidos dois serviços REST para que o cliente possa customizar sua aplicação de acordo com o contexto educacional atual do portal do aluno. Abaixo detalharemos cada um desses serviços.
O primeiro serviço, chamado de GetKeySession, irá retornar a chave criptografada do contexto atual selecionado. Esse serviço utiliza o verbo de requisição GET e pode ser útil quando for necessário uma customização que não possa ser feita através de um cadastro de Url Externa de Globais.
Neste caso, o cliente deve obter a chave, por meio deste serviço, e posteriormente chamar o segundo serviço para obter os dados do contexto atual.
O endereço para acessar o serviço é o seguinte:
http://<nome_do_servidor_ou_ip>/rm/api/TOTVSEducacional/GetKeySession
O segundo serviço, chamado de GetSession, irá retornar um objeto json com os dados de contexto do aluno. Esse serviço utiliza o verbo de requisição GET e recebe como parâmetro uma chave criptografada de nome key.
O endereço para acessar o serviço é o seguinte:
http://<nome_do_servidor_ou_ip>/rm/api/TOTVSEducacional/GetSession?key=<chave_criptografada>
Como mostrado acima é obrigatório passar uma chave criptografada para que este serviço retorne os dados. Essa chave pode ser obtida por meio do serviço GetKeySession.
http://meudominio.com.br/?key=<chave_criptografada>
{ "data":[ { "CODCOLIGADA":1, "CODFILIAL":1, "NOMEFILIAL":"Filial Belo Horizonte", "CODTIPOCURSO":1, "NOMETIPOCURSO":"Ensino Superior", "RA":"ES-00177", "NOMEALUNO":"Thiago Enzo Sales", "CODUSUARIOPAI":null, "NOMEPAI":null, "CODUSUARIOMAE":null, "NOMEMAE":null, "CODUSUARIORACA":null, "NOMERACA":null, "CODUSUARIORESPFINANCEIRO":null, "NOMERESPFINANCEIRO":null, "CODUSUARIORESPCONTRATO":null, "NOMERESPCONTRATO":null, "IDHABILITACAOFILIAL":1, "CODCURSO":"1-1", "NOMECURSO":"DIREITO", "CODHABILITACAO":"1", "NOMEHABILITACAO":"DIREITO", "NOMEMATRIZ":"Grade Curricular de Direito", "NOMETURNO":"MANHÃ", "IDPERLET":22, "CODPERLET":"2019/1", "DTINICIO":"2019-01-01T00:00:00", "APRESENTACAO":"1", "CODTURMA":null, "PERIODO":null, "SITMATHABILITACAO":"Matriculado", "SITMATPERLET":"Pré-Matricula", "CODUSUARIOALUNO":"ES-00177", "GUID":"L\\FF\\09\\28B\\FDc\\DF\\A4\\21s\\14\\E75\\40\\E6p\\21\\E8\\D5i\\A8m\\C45\\02\\BDI\\2C\\A2\\5E\\C008\\AAn\\8B\\A9l\.." } ], "messages":[ ], "length":1, "HttpStatusCode":200 } |
O serviço GetKeySession necessita da sessão em que o usuário está logado, por isso, só funcionará executando dentro do ambiente do portal.
Exemplo: o Cliente precisa customizar a tela de ocorrência do portal, adicionando um link para uma aplicação externa.
Para isso, utilizando a documentação de customização, podemos alterar esta tela e adicionar um botão que irá redirecionar para a URL de uma aplicação externa. No código abaixo, no evento do click deste botão, o serviço GetKeySession é chamado para recuperar a KeySession e, posteriormente, essa key será repassada para o aplicativo externo via QueryString.
Funcionamento do código de exemplo acima:
O serviço GetSession tem mais flexibilidade que o GetKeySession, podendo ser executado de fora do ambiente do portal pois não necessita da sessão do portal do aluno para funcionar.
Abaixo segue um exemplo de um sistema Web em Asp.Net, que possui uma página que recebe a key session como parâmetro. Esta página chama então o serviço GetSession e exibe os dados do contexto recuperado.
Funcionamento:
Segue abaixo o código fonte da aplicação web Asp. Net utilizada para os exemplos acima: