Bridge REST API
Bridge REST API foi desenvolvida para fornecer uma interface de comunicação entre o módulo e a plataforma AVAMEC.
A API foi desenvolvida utilizando o TypeScript e o Post Message que permite a comunicação entre domínios diferentes de forma segura.
Diagrama de comunicação
Incluindo API no conteúdo
Esta API está sendo publicada diretamente no NPM.
Para utilizá-la, instale-a em seu projeto utilizando o npm:
npm i @labtime/avamec-api-bridge-cliente
E inclua o arquivo .js em sua página:
<script src="node_modules/@labtime/avamec-api-bridge-cliente/dist/bridge-rest-api.bundle.js"></script>
É possível também apontar diretamente para um CDN, no caso o jsDelivr.net
<script src="https://cdn.jsdelivr.net/npm/@labtime/avamec-api-bridge-cliente@latest/dist/bridge-rest-api.bundle.js"></script>
Instanciando objeto BridgeRestApi
Para utilizar os métodos da API é necessário instanciar um objeto conforme abaixo:
var API = new BridgeRestApi();
Obtendo e salvando informações
Para invocar algum método fornecido pela API, você deve utilizar a constante chamada 'API' e efetuar a chamada do método que deseja. Por exemplo:
onClick="API.salvarUltimaPaginaAcessada('http://labtime.ufg.br');"
Você pode consultar a tabela que descreve os métodos e informações disponibilizadas pela API.
Obtendo retorno dos métodos
Todos os retornos das funções disponibilizadas pela API são obtidas através de eventos. Para obter o retorno é necessário criar um EventListener para escutar o evento de retorno de cada método invocado, por exemplo:
// Adicionando listener
window.addEventListener("evUltimaPaginaAcessada", receberEvUltimaPaginaAcessada, false);
function receberEvUltimaPaginaAcessada(evento){
console.log(evento.detail);
}
Você pode obter as informações de resposta dentro do atributo detail do evento. É retornado um json, no qual possui a seguinte estrutura:
status O status de retorno da requisição poderá ter o valor 200 que indica sucesso, 412 que indica falha na pré condição, ou 500 caso haja erro interno no servidor.
data A data é o valor de retorno, por exemplo se for solicitado a última página acessada salva no servidor, será retornado uma string referenciando a URL.
Você pode consultar a tabela de métodos que descreve os eventos de retorno de cada método.
Métodos
Nome | Parâmetros | Evento de Retorno | Descrição |
---|---|---|---|
obterDadosCurso() | evObtemDadosCurso | Obtem informações do curso | |
registrarDadosGenericos(chave, valor) | chave, valor | evObtemRegistraDadosGenericos | |
obterDadosGenericos(chave) | chave | evObtemDadosGenericos | |
registrarUltimaPaginaAcessada(identificadorUnidade, urlUltimaPaginaAcessada) | identificadorUnidade, URLAcessada (opcional) | evObtemRegistraUltimaPaginaAcessada | |
obterUltimaPaginaAcessada() | evObtemUltimaPaginaAcessada | ||
obterConfiguracaoConclusaoUnidade(identificadorUnidade) | identificadorUnidade | evObtemDadosConfiguracaoConclusaoUnidade | |
obterSeExisteProximaUnidade(identificadorUnidade) | identificadorUnidade | evObtemSeExisteProximaUnidade | |
obterSeExisteUnidadeAnterior(identificadorUnidade) | identificadorUnidade | evObtemSeExisteUnidadeAnterior | |
obterProximaUnidade(identificadorUnidade) | identificadorUnidade | evObtemProximaUnidade | |
obterUnidadeAnterior(identificadorUnidade) | identificadorUnidade | evObtemUnidadeAnterior | |
obterUnidade(identificadorUnidade) | identificadorUnidade | evObtemUnidade | Obtem unidade a ser navegada. |
obterTipoAcessoUnidade(identificadorUnidade) | identificadorUnidade | evObtemTipoAcessoUnidade | Obter tipo de acesso do cursista à unidade. |
registrarPorcentagemConclusaoUnidade(identificadorUnidade, porcentagem) | identificadorUnidade, porcentagem | evRegistraPorcentagemConclusaoUnidade | |
obterPorcentagemConclusaoUnidade(identificadorUnidade) | identificadorUnidade | evObtemPorcentagemConclusaoUnidade | Obtem informações de conclusão da unidade |
obterConfiguracaoAtividade(identificadorAtividade) | identificadorAtividade | evObtemConfiguracaoAtividade | |
registrarRespostaAtividade(atividade) | atividade | evRegistraRespostaAtividade | |
registrarRespostaAtividadeArquivo(identificadorAtividade, file) | identificadorAtividade, file | evObtemDadosRespostaAtividadeArquivo | |
obterRespostaAtividade(identificadorAtividade) | identificadorAtividade | evObtemDadosRespostaAtividade | |
obterComentariosAtividade(identificadorUnidade) | identificadorUnidade | evObtemComentariosAtividade | |
obterDadosConclusaoUnidade(identificadorUnidade) | identificadorUnidade | evObtemDadosConclusaoUnidade | |
obterDadosConclusaoCurso() | evObtemDadosDadosConclusaoCurso | ||
obterStatusContraste() | evObtemStatusContraste | ||
obterTamanhoFonteSistema() | evObtemTamanhoFonteSistema | Obtem tamanho da fonte atual do sistema. | |
obterAncoraIrParaConteudo() | evObtemAncoraIrParaConteudo | Obtem evento para ir para ancora do conteúdo. | |
obterIdentificadorUsuarioLogado() | evObtemIdentificadorUsuarioLogado | Obtém identificador criptografado do usuário autenticado. |