Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languageactionscript3
firstline1
titleSINTAXEEXEMPLO DE AUTENTICAÇÃO
linenumberstrue
//Cria uma instância de TECTAE e realiza a autenticação do objeto da integração
Static Function conTAE()
    Local cUser     := SUPERGETMV('MV_USRTAE') 
    Local cPsWrd    := SUPERGETMV('MV_PWTAE')
    Local cBaseUrl  := SUPERGETMV('MV_TAEBASE',,"https://totvssign.staging.totvs.app")
    Local oTAE      := TecTAE():New(cBaseUrl) 
    
//Definição de usuário e senha de autenticação do objeto
    oTAE:defUser(cUser)
    oTAE:defPw(cPsWrd)
    oTAE:auth() 

//Retorno do objeto autenticado
Return oTAE

...

Bloco de código
languageactionscript3
firstline1
titleSINTAXE
linenumberstrue
  oTAE:uploadFile(<cFileContent>, <cFileName>, <envName>, <response>, <msgErr>, <endPoint>, <type>) 


Parâmetros

NomeTipoDescriçãoObrigatórioDefault
cFileContentbase64Conteúdo do arquivoX
cFileNamecaractereNome do arquivoX
envNamecaractereNome do envelope.X
responsecaractere
Responsta

Resposta da requisição na plataforma TAE, obtido através de variável passada por referência.



msgErrcaractereRetorno de mensagens de erro, obtido através de variável passada por referência

endPointcaractereEndpoint para upload de arquivos. 
/documents/v1/envelopes/upload
typecaractereTipo do documento. Tipos aceitos: .pdf, .doc, .docx
.pdf

...

Bloco de código
languageactionscript3
firstline1
titleSINTAXEEXEMPLO DE UPLOAD DE ARQUIVO
linenumberstrue
Static Function uploadFileTAE()
	Local oTAE      := conTAE()
	Local oFile     := Nil
	Local cPathFile := ""
	Local cNomeFile := "Nome do arquivo"
	Local oRequest  := Nil
	Local cMsgErr   := ""
	Local nIdEnv	:= 0
	
	//Criando um arquivo de teste e retornando o caminho para cPathFile
 	cPathFile := genFileTeste(cNomeFile+".PDF")

	//Obtendo o arquivo de teste que será enviado 
	oFile := tecFOPEN(cFile) 
	
	lUpload := oTAE:uploadFile(oFile,cNomeFile+".PDF", "documento teste para integracao com o TAE", @oRequest, @cMsgErr)
	If lUpload
Return lUpload		//Código do envelope que deverá ser utilizado no método publicar
  		nIdEnv := oRequest:data
	EndIf
Return nIdEnv  

//Realiza leitura de um arquivo
Static Function tecFOPEN(cPath)
    Local cBuffer := ""
    Local cResult := ""
    Local nHandle := 0
    Local nBytes  := 0

	nHandle := FOPEN(cPath) 
	If nHandle > -1
		While (nBytes := FREAD(nHandle, @cBuffer, 524288)) > 0 
			cResult += cBuffer
		EndDo

		FCLOSE(nHandle)
	EndIf
Return cResult

//Gerar documento de teste
Static Function genFileTeste(cNmFile)

    Local cFile             := ""
    Local cPathLocal        := GetSrvProfString("StartPath","") //'\system\'
    Local lAdjustToLegacy   := .T.    
    Local lDisableSetup     := .T.   
    Local lViewPDF          := .T.

    oPrint := FWMSPrinter():New(cNmFile/*cRelNome*/,IMP_PDF,lAdjustToLegacy,cPathLocal,lDisableSetup,,,,,,,lViewPDF)

    cFile := cPathLocal+cNmFile
    File2Printer( cFile, "PDF" )
    oPrint:cPathPDF:= cPathLocal

    oFont20 := TFont():New("Arial",9,20,.T.,.T.,5,.T.,5,.T.,.F.)

    oPrint:StartPage()
    nRow1 := 1

    oPrint:Line(nRow1+100,100,nRow1+0100,1400)
    
    oPrint:Say(nRow1+0080,100,"Arquivo para teste de integração com o TAE ",oFont20 ) 
    nRow1++
    
    oPrint:Preview()

    cFile := cPathLocal+cNmFile 

Return cFile

REALIZANDO PUBLICAÇÃO DE DOCUMENTOS

publicar

Bloco de código
languageactionscript3
firstline1
titleSINTAXE
linenumberstrue
  oTAE:publicar(<nIdEnv>,<aDest>,<aObserv>,<cPapel>,<cExpDate>,<cAssunto>,<cMsgTAE>,<cResponse>)

Parâmetros

NomeTipoDescriçãoObrigatórioDefault
nIdEnvnuméricoId do envelope, obtido ao utilizar o método uploadFilex
aDestarray

Array com dados dos destinatários, com os dados nome, email, cpf para cada pessoa


x
aObservarrayArray com os emails dos observadores. 

cPapelcaractere

Papel dos assinantes, conforme cadastros da plataforma TAE. Exemplo: "como contratante"

x
cExpDatecaractereData de expiração do documento, no formato: 'yyyy-mm-dd'. A data deve ser maior que a data atual do sistema. x
cAssuntocaractereAssunto do documento que será assinado.

cMsgTAEcaractereMensagem que será enviado pelo TAE aos assinantes

cResponsecaractereResposta da api do TAE, passado via referência. 

Bloco de código
languageactionscript3
firstline1
titleEXEMPLO DE PUBLICAÇÃO DE DOCUMENTO
linenumberstrue
static function publicarTAE(oTAE, nIdEnv)
    Local lRet      := .F.
    Local aDest     := {}
    Local aObserv   := {}
    //Data de expiração do documento > data atual
    Local cExpDate  := '2025-01-01'
    Local cPapel    := 'como contratante'
    Local cAssunto  := "Documento contrato xpto "
    Local cMsgTAE   := "Documento teste para ser assinado digitalmente."
    Local cResponse := ""
    
    aAdd(aDest,{"[email protected]","Assinante1","000.000.000-00"}) //Email, Nome, cpf (cpf válido)
    aAdd(aDest,{"[email protected]","Assinante2","000.000.000-02"}) //Email, Nome, cpf (cpf válido)

    aAdd(aObserv,'[email protected]')
    aAdd(aObserv,'[email protected]')

    lRet := oTAE:publicar(nIdEnv,aDest,aObserv,cPapel,cExpDate,cAssunto,cMsgTAE,@cResponse)

Return lRet

OBTENDO STATUS DE PUBLICAÇÃO

detailPub

Bloco de código
languageactionscript3
firstline1
titleSINTAXE
linenumberstrue
Local nStatus := oTAE:detailPub(<nEnvId>)

//0 = erro
//1 = pendente
//2 = finalizado
//5 = cancelado
NomeTipoDescriçãoObrigatórioDefault
nEnvIdnuméricoId do envelope, obtido ao utilizar o método uploadFilex

CANCELAMENTO DE PUBLICAÇÃO

pubCancel

Bloco de código
languageactionscript3
firstline1
titleSINTAXE
linenumberstrue
oTAE:pubCancel(<nEnvId>)
NomeTipoDescriçãoObrigatórioDefault
nIdEnvnuméricoId do envelope, obtido ao utilizar o método uploadFilex

ASSUNTOS RELACIONADOS



Templatedocumentos