Classe que realiza a integração com o TAE diretamente sem interface.

Sintaxe

FwTotvsSign()

Retorno

Nome

Tipo

Descrição

oSign

objetoinstância do motor de envio de documentos

authenticate()

Realiza a autenticação no serviço do TAE. Ao realizar a autenticação com sucesso, as credenciais são armazenadas para novos usos. Caso já exista credencial válida armazenada
não é necessário informar novas credenciais. A credencial fica vinculada ao usuário logado no sistema.

Sintaxe

oSign:authenticate()-> Nil

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

cUserCaracterUsuário no TAE. Caso não seja passado tenta utilizar a credencial armazenada.


cPasswordCaracterSenha no TAE. Caso não seja passado tenta utilizar a credencial armazenada.


isAuthenticated()

Retorna se está autenticada no TAE.

Sintaxe

oSign:isAuthenticated()-> logical

Retorno

Tipo

Descrição

logicalAutenticado se verdadeiro


isAuthenticated()

Retorna se está autenticada no TAE.

Sintaxe

oSign:isAuthenticated()-> logical

Retorno

Tipo

Descrição

logicalAutenticado se verdadeiro


uploadDocument()

Realiza o upload de um documento para o TAE.

Sintaxe

oSign:uploadDocument()-> logical

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

cFilePathCaracterCaminho do arquivo. Pode ser absoluto ou relativo.
X

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação


requestAction()

Solicita a ação de n destinatários.

Sintaxe

oSign:requestAction()-> logical

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

nDocumentIdNumericId do documento no TAE.
X

aReceiver

Array

aReceiver Estrutura
[1] ExpC: E-mail destinatário.
[2] ExpN: Número da ação.
    Ações possíveis: 

0-Assinar
1-Validar
2-Testemunhar
3-Observar
4-Assinar com certificado(A1/A3)

[3] ExpJ: Json dados do Destinatário.


X

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação


uploadSignedDocument()

Realiza o upload de um documento assinado digitalmente para o TAE.

Sintaxe

oSign:uploadSignedDocument()-> logical

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

nDocumentIdNumericId do documento no TAE.
X
cFilePathCaracterCaminho do arquivo. Pode ser absoluto ou relativo.
X

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação


downloadDocument()

Realiza o download de um documento no TAE. O nome do arquivo será o retornado pela API.

Sintaxe

oSign:downloadDocument()-> Nil

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

nDocumentIdNumericId do documento no TAE.
X
cFilePathCaracterPasta para gravação do arquivo
X
cDocumentTypeCaracter

Tipo do documento. Tipos possíveis:

1 - Original
2 - Manifesto
3 - Assinado Digital
4 - Baixar todos

"3"

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação


deleteDocument()

Realiza a deleção do documento no TAE.

Sintaxe

oSign:deleteDocument()-> logical

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

nDocumentIdNumericId do documento no TAE.
X

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação


documentStatus()

Recupera o status de um documento no TAE.

Sintaxe

oSign:documentStatus()-> logical

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Referência

nDocumentIdNumericId do documento no TAE.
X

Retorno

Tipo

Descrição

logicalsucesso ou falha na operação

getResponse()

Recupera a resposta do último método da plataforma chamado. 

Sintaxe

oSign:getResponse()->json

Retorno

Tipo

Descrição

json

Resposta do TAE


destroy()

Realiza a limpeza da classe

Sintaxe

oSign:destroy()→Nil


setVersion()

Seta a versão das apis que serão utilizadas

Parâmetros

Nome

Tipo

Descrição

Default

Obrigatório

Valores aceitos

cVersionCaracterversão que será utilizadav1
v1 ou v2

Sintaxe

oSign:setVersion(cVersion)-> nil

Disponibilização

Método disponível a partir da LIB Label 20230626


Exemplo básico de utilização

function u_sign_teste()
    Local oSign as object
    Local cUser := "" //seu usuário no TAE
    Local cPassword := "" //sua senha no TAE

    RpcSetEnv("T1", "D MG 01", "admin", "1234") // informações do seu ambiente

    oSign := FwTotvsSign()

    If !oSign:isAuthenticated()
        oSign:authenticate( cUser, cPassword )
    EndIf

    lSuccess := oSign:uploadDocument( "\system\arquivo1.pdf" )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )
    nId := jResponse[ "data" ]

    /**
    0 - Pendente
    2 - Finalizada
    4 - Rejeitada
    5 - Em Rascunho
     */
    lSuccess := oSign:documentStatus( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    lSuccess := oSign:uploadSignedDocument( nId, "\system\arquivo1.pdf" ) // Documento assinado digitalmente A1 ou A3
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
     1 - Original
     2 - Manifesto
     3 - Assinado Digital
     4 - Baixar todos
     */
    lSuccess := oSign:downloadDocument( nId, "\system\") // O padrão é pegar o documento assinado digitalmente
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
     1 - Original
     2 - Manifesto
     3 - Assinado Digital
     4 - Baixar todos
     */
    lSuccess := oSign:downloadDocument( nId, "\system\assinatura\", "1" ) //documento original
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
     1 - Original
     2 - Manifesto
     3 - Assinado Digital
     4 - Baixar todos
     */
    lSuccess := oSign:downloadDocument( nId, "C:\Users\meuusuario\Desktop\", "1" ) //documento original
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )
    // Injetamos na resposta a propriedade fileCreation e fileError
    // a requisição pode retornar sucesso mas falhar a criação do arquivo.

    /**
     0-Assinar
     1-Validar
     2-Testemunhar
     3-Observar
     4-Assinar com certificado(A1/A3)
     */

    jDados := JsonObject():New()
    jDados[ "papelAssinante" ] := "como locatário" // Papel na assinatura. Ex: "como locatário", "como fiador" etc...
    jDados[ "tipoAutenticacao" ] := 1              // 1 - Login no sistema | 2 - Via envio de código por e-mail
    jDados[ "tipoIdentificacao" ] := 1             // 1 = Brasil (CPF ou CNPJ) | 2 = (Id Internacional) | 3 = Não possui (Não solicitar)
    jDados[ "identificacao" ] := "99999999999"     // Identificação de acordo com o que foi definido no "tipoIdentificacao"
    jDados[ "nomeCompleto" ] := "Fulano de Tal"    // Obrigatório para tipoIdentificacao = 2 

    lSuccess := oSign:requestAction( nId, { { "[email protected]", "0", jDados } } )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
    0 - Pendente
    2 - Finalizada
    4 - Rejeitada
    5 - Em Rascunho
     */
    lSuccess := oSign:documentStatus( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    lSuccess := oSign:deleteDocument( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
    0 - Pendente
    2 - Finalizada
    4 - Rejeitada
    5 - Em Rascunho
     */
    lSuccess := oSign:documentStatus( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
    0 - Pendente
    2 - Finalizada
    4 - Rejeitada
    5 - Em Rascunho
     */
    lSuccess := oSign:uploadDocument( "C:\Users\meuusuario\Desktop\arquivo2.pdf" )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )
    nId := jResponse[ "data" ]

    lSuccess := oSign:deleteDocument( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    /**
    0 - Pendente
    2 - Finalizada
    4 - Rejeitada
    5 - Em Rascunho
     */
    lSuccess := oSign:documentStatus( nId )
    jResponse := oSign:getResponse()
    ConOut(lSuccess, jResponse:toJson() )

    oSign:destroy()

return
  • Sem rótulos