Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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 um detalhe de detalharemos cada um desses serviços.

  • GetKeySession – Retorna a chave para obter o contexto

O segundo 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 caso faça quando for necessário uma customização onde não seja que não possa ser feita através de um cadastro de Url Externa de Globais.

O cliente pode, por exemplo, Neste caso, o cliente deve obter a chave, por meio deste serviço, e posteriormente chamar o primeiro segundo serviço para obter os dados do contexto atual.

...

http://<nome_do_servidor_ou_ip>/rm/api/TOTVSEducacional/GetKeySession


Quando e como usar?

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. Por exemplo, se o cliente quiser customizar uma página do portal, adicionando um link para uma URL externa que seja necessário passar o KeySession:

Utilizando a documentação de customização, na tela de ocorrência do novo portal foi adicionado um botão que irá redirecionar para uma URL externa e passará via QueryString o KeySession, para isso no método de click do botão o serviço GetKeySession é chamado para recuperar a KeySession, essa key é repassada para uma URL externa:

Image Removed

Funcionamento do código de exemplo acima:

Image Removed


  • GetSession – Retorna o contexto atual do aluno

O primeiro 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.

...

Como mostrado acima é obrigatório passar uma chave criptografada para o que este serviço retornar retorne os dados. Essa chave pode ser obtida por meio de segundo serviço que será definido no próximo tópicodo serviço GetKeySession.

Ao criar uma Url Externa, no cadastro de globais, essa chave é passada como parâmetro de Url (query string), como por exemplo:

http://meudominio.com.br/?key=<chave_criptografada>

 

Como e quando usar?

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. Sendo assim, um exemplo de uso é, de posse da KeySession, pode-se chamar o serviço GetSession repassando a KeySession para validar e ter mais informações do contexto/sessão do usuário:

No exemplo, foi criado um sistema Web em Asp.Net MVC em que existe uma Action que recebe a key, esta action chama o serviço GetSession e preenche na view de uma forma amigável os dados do contexto recuperado.

Funcionamento:

Image Removed


Bloco de código
languagejs
titleModelo do JSON que é retornado pelo GetSession (lembrando que um dado pode ou não estar preenchido baseado no usuário logado):
{

...


"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
}


Quando e como usar?

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.

Image Added

Funcionamento do código de exemplo acima:

Image Added


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:

Image Added
}



Segue abaixo o código fonte da aplicação web Asp. Net MVC utilizada para os exemplos acima:

View file
nameTesteUrlExternaTesteIntegracao.7zzip
height250