Esta API permite obter via método GET os valores de versão, build e patch dos principais componentes do ambiente:
- Appserver
- TLPP
Como utilizar
Esta API pode ser utilizada diretamente no próprio navegador de internet como: "CHROME", em um client HTTP como: "POSTMAN", ou então, construindo um programa fonte .TLPP.
O retorno da mesma é um arquivo JSON que pode ser utilizado posteriormente da forma que for necessária para a sua aplicação.
A API disponibiliza 3 endpoints para consumo:
- /totvs/environment - O resultado é um arquivo contendo o resultado concatenado de versão, build e patch referente ao Appserver e a linguagem TLPP.
- /appserver/environment - O resultado é um arquivo contendo o resultado de versão, build e patch referente ao Appserver.
- /tlpp/environment - O resultado é um arquivo contendo o resultado de versão, build e patch referente a linguagem TLPP.
Partindo destes princípios, sua utilização pode ser feita requisitando um endereço como este: https://localhost:5012/rest/
- https - Protocolo definido na configuração do HttpServer para as aplicações REST.
- localhost - Endereço(IP/Nome) do seu servidor de aplicação responsável pelo REST.
- 5012 - Porta configurada no Appserver para o REST.
- /rest - Location definida no Appserver para o REST.
- ** * ** - URI da aplicação(deve ser substituída por um dos três endpoints da aplicação).
Caso executado diretamente no navegador, será mostrado uma página como esta para cada endpoint:
/totvs/environment
/appserver/environment
/tlpp/environment
Também é possível consumir a API por meio de um programa fonte .TLPP escrevendo uma User Function ou uma Classe.
Utilizando User Function.
#include "tlpp-core.th" #include "tlpp-rest.th" @Get("/tlpp/rest/versionenvironment") User Function versionEnvironment() Local cServer := "https://localhost:5012/rest" Local cUriTotvs := "/totvs/environment" Local cUriAppsrv := "/appserver/environment" Local cUriTlpp := "/tlpp/environment" Local cHeadRet := "" Local cGetParms := "" Local nTimeout := 5 Local aHeadStr := {} Local jReturn //consumindo a api com a URI Totvs jReturn := HTTPGet(cServer+cUriTotvs, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI TOTVS-->> " + cValToChar(jReturn)) //consumindo a api com a URI Appserver jReturn := HTTPGet(cServer+cUriAppsrv, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI appserver-->> " + cValToChar(jReturn)) //consumindo a api com a URI Tlpp jReturn := HTTPGet(cServer+cUriTlpp, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI Tlpp-->> " + cValToChar(jReturn)) Return
Utilizando Classe
#include "tlpp-core.th" #include "tlpp-rest.th" class versionEnvironment from LongclassName public method new() constructor @Get("/tlpp/rest/versionenvironment") public method mVersionEnvironment() endclass method new() class versionEnvironment return Self method mVersionEnvironment() Class versionEnvironment Local cServer := "https://localhost:5012/rest" Local cUriTotvs := "/totvs/environment" Local cUriAppsrv := "/appserver/environment" Local cUriTlpp := "/tlpp/environment" Local cHeadRet := "" Local cGetParms := "" Local nTimeout := 5 Local aHeadStr := {} Local jReturn //consumindo a api com a URI Totvs jReturn := HTTPGet(cServer+cUriTotvs, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI TOTVS-->> " + cValToChar(jReturn)) //consumindo a api com a URI Appserver jReturn := HTTPGet(cServer+cUriAppsrv, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI appserver-->> " + cValToChar(jReturn)) //consumindo a api com a URI Tlpp jReturn := HTTPGet(cServer+cUriTlpp, cGetParms, nTimeout, aHeadStr, @cHeadRet) Conout("Retorno da URI Tlpp-->> " + cValToChar(jReturn)) return .T.
Funcionamento
A API consegue obter esses dados internamente efetuando consultas no binário, desta forma foi possível conseguir os valores disponibilizados tanto do servidor de aplicação, quanto do repositório para o caso do TLPP.
Seu uso, como demonstrado acima, pode ser feito acessando-a utilizando o endpoint de 3 diferentes formas para que se consiga o resultado esperado da forma mais simples possível.