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

GetKeySession – Retorna a chave para obter o contexto

O primeiro serviço , chamado de GetKeySession, irá retornar a uma chave criptografada do contexto atual selecionado. Esse serviço do usuário no portal do aluno e deverá ser usada como parâmetro do segundo serviço (GetSession). O serviço GetKeySession 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.e necessite das informações do contexto do usuário logado no portal.

Dica
titleO endereço para acessar o

...

endpoint GetKeySession:

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

Informações

O serviço GetKeySession necessita da sessão em que o usuário está logado, por isso, só funcionará se for executado dentro do ambiente do portal.


Exemplo de uma requisição do endpoint GetKeySession através do Swagger:

GetSession – Retorna o contexto atual do aluno

O segundo serviço , chamado de GetSession, irá retornar um objeto json 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 obtida pelo primeiro serviço GetKeySession.


Dica
titleO endereço para acessar o

...

endpoint GetSession:

http://<nome_do_servidor_ou_ip>/rm/api/TOTVSEducacional/GetSession?key=<chave_criptografada>

Aviso
titleAlias do contexto

O alias do banco de dados utilizado para consultar o contexto do aluno no serviço GetSession é o alias parametrizado no arquivo ...\FrameHTML\Web.Config, no parâmetro ServiceAlias.

Informações

É obrigatório passar uma chave criptografada para que este serviço retorne os dados. Essa chave é obtida por meio do serviço GetKeySession.

É obrigatório configurar a TAG ServiceAlias TAG ServiceAlias no arquivo Web.config da pasta FrameHTML para que este serviço funcione corretamente.

O serviço GetSession deve ser executado de fora do ambiente do portal.

...

Informações

Modelo 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?

Exemplo 1:

...

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

Bloco de código
languagexml
themeMidnight
titleClique para copiar o HTML adicionado no view
collapsetrue
<button
        class="btn btn-default"
        ng-click="controller.

...

abrirAppExterno()">
        Abrir aplicativo externo
</button>


Image Added

Bloco de código
languagejs
themeMidnight
titleClique para copiar o código adicionado no controller
collapsetrue
 self.abrirAppExterno = abrirAppExterno;

        function abrirAppExterno() {
            $.ajax({
                url: "http://localhost:8025/rm/api/TOTVSEducacional/GetKeySession",
                crossDomain: true,
                context: document.body,
                type: "get",
                xhrFields: {withCredentials: true}
            }).done(function(data){
                var url = "http://localhost/testeintegracao/TesteURLExterna?key=" + data;

                window.open(url, '_blank');
            });
        }
Aviso
iconfalse
titleIMPORTANTE!!!

Caso a instalação esteja na versão superior a versão 12.1.27, o caminho da instalação deve ser: url: "http://localhost/FrameHTML/rm/api/TOTVSEducacional/GetKeySession",

Image Added


Bloco de código
languagejs
themeMidnight
titleClique para copiar o código adicionado no controller
collapsetrue
 self.abrirAppExterno = abrirAppExterno;

        function abrirAppExterno() {
            $.ajax({
                url: "http://localhost/FrameHTML/rm/api/TOTVSEducacional/GetKeySession",
                crossDomain: true,
                context: document.body,
                type: "get",
                xhrFields: {withCredentials: true}
            }).done(function(data){
                var url = "http://localhost/testeintegracao/TesteURLExterna?key=" + data;

                window.open(url, '_blank');
            });
        }

...


Funcionamento do código de exemplo acima:

Image Removed

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 Removed

...

Image Added


Exemplo 2: Cliente precisa adicionar uma URL externa ao menu do portal do aluno que redireciona para uma aplicativo externo passando o contexto.

Para isto, basta o Cliente realizar o cadastro da URL externa informando a URL do aplicativo externo que receberá o contexto. 

Image Added

Funcionamento:

Image Added


Image Added


Image Added

Informações

Para reproduzir os exemplos basta extrair os fontes em um diretório e criar um aplicativo web.

Isto pode ser feito no Gerenciador de Serviços de Informações da Internet (IIS), por exemplo.

No próprio aplicativo já estão descritas as instruções de uso.

A porta padrão utilizada pelo serviço GetSession é a porta 8080.


Aplicação de exemplo para acesso ao Contexto do portal do aluno (ASP.NET)

   

View file
nameTesteIntegracao.zip
height250


Informações
titleA partir da Versão 12.1.2205

GetKeySession - Retornar e-mail do Aluno 

Implementado a funcionalidade para que ao utilizar a API "GetSession", para retornar os dados do Contexto do Aluno, foi incluído também a informação do e-mail do aluno ( caso essa informações esteja preenchida em seu cadastro).

Image Added


Aplicação de exemplo para acesso ao Contexto do portal do aluno (ASP.NET) ( com a inclusão do e-mail do Aluno)

View file
nameTesteIntegracao.zip
height250