Árvore de páginas

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.

  • Sem rótulos