A partir da lib 20250811 passa ser possível obter as informações retornadas pelos serviços do Totvs API Services (TAS) por meio de função ou API Rest, desta forma é possível aproveitar as facilidades de obtenção de dados do TAS em suas aplicações customizadas e integrações.


Apenas serviços devidamente parametrizados serão possíveis de ser consumidos via função ou API, para maiores informações consulte Configuração Do Totvs Api Services.

Consumo de um serviço TAS por meio de função

A consulta de serviço TAS via função deverá ser realizada por meio da função BlindTASExec recebendo os seguintes parâmetros:

ParâmetroTipoDescriçãoObrigatório
cAliasCharactereAlias correspondente a parametrização do serviço realizada no Configurador Sim
cServTasCharactereNome do serviço TAS a ser consumidoSim
aValBlindTasArrayArray com os parâmetros requisitados pelo serviço, os valores devem seguir a sequencia apresentada na parametrização do serviçoSim
#include "protheus.ch"

/*/{Protheus.doc} TstBlindTAS
	Apenas para testar a função, não deve ser considerado na versão final
	@type  Function
	@author Bruno Pirolo
	@since 05/06/2025
/*/
Function TstBlindTAS()
	Local aValBlindTas 	as array
	Local cAlias		as character
	Local cServTas		as character
	Local jBlindTasRet	as json

	RpcSetEnv("T1", "D MG 01")

	//SOACEPService	
	aValBlindTas	:= {"03223110"}
	cAlias 			:= "SA1"
	cServTas		:= "SOACEPService"
	
	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

	//BancoCentral.ConversaoMoeda             
	cAlias			:= "SA1"
	cServTas 		:= "BancoCentral.ConversaoMoeda             "
	aValBlindTas	:= {"177" /*Real*/, "61" /*Dolar EUA*/, "1", "05/06/2025"}

	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

	//SOASimplesNacionalService
	cAlias			:= "SA1"
	cServTas 		:= "SOASimplesNacionalService               "
	aValBlindTas	:= {"53113791000122"}

	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

	//SOASuframaService ******Esse serviço é esperado um erro tratado pelo TAS e que será detalhado no error
	cAlias			:= "SA1"
	cServTas 		:= "SOASuframaService"
	aValBlindTas	:= {"53113791000122", "SP"}

	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

	//SOASintegraService
	cAlias			:= "SA1"
	cServTas 		:= "SOASintegraService"
	aValBlindTas	:= {"53113791000122", "SP"}

	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

	//SOASintegraService
	cAlias			:= "SA1"
	cServTas 		:= "SOASintegraService"
	aValBlindTas	:= {"53113791000122", "SP"}

	jBlindTasRet := BlindTASExec(cAlias, cServTas, aValBlindTas)

	If jBlindTasRet["error"] == nil
		VarInfo("Resultado TAS", jBlindTasRet)
	Else
		Conout("Erro na execução do TAS via função"+jBlindTasRet["error"])
	EndIf

Return