DOCUSIGN API integração ADVPL

Prezados,

Preciso fazer a integração ADVPL com as API's do DOCUSIGN para controle de assinaturas dos documentos.

Alguém já fez essa integração ou teria algum fonte para me ajudar nessa integração.

Agradeço muito.

Cmkas

Bom Dia,

Desenvolvi esta integração para nossos processos aqui. O fonte eu não posso compartilhar, mas qual seria a sua dúvida?

====== Login


Local _jwtHe  := Encode64('{"alg":"RS256","typ":"JWT"}')

    //-- Faz replace dos carateres que um Base64URL faria
    Local _jwtPl  := STRTRAN(STRTRAN(STRTRAN(Encode64('{"iss":"' + _appId + '","sub":"' + _userI + '","iat":'+Str(_nCria)+','+;
        '"exp":'+ Str(_nExpi) + ',"aud":"account.docusign.com","scope":"signature impersonation"}'), '+', '-'), '/', '_'),'=','')

    //-- Faz replace dos carateres que um Base64URL faria
    cSignature := STRTRAN(STRTRAN(STRTRAN(Encode64(EVPPrivSign(CurDir() + _prvKey, (_jwtHe+'.'+_jwtPl), 5, "", @cErro)), '+', '-'), '/', '_'),'=','')

    oRestclient := FWRest():New('https://account.docusign.com')
    oRestClient:setPath('/oauth/token')

    aadd(aHeader,'Content-Type: application/x-www-form-urlencoded')

    oRestClient:setPostParams('grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=' + (_jwtHe+'.'+_jwtPl+'.'+cSignature))

Envio de DOC


oRestclient := FWRest():New(_appUrl)
oRestClient:setPath('/v2.1/accounts/' + _appUId + '/envelopes')
aadd(aHeader,'Authorization: Bearer ' + cToken)
aadd(aHeader,'Content-Type: application/json')

JSON do envio do documento.


aDocs[1]['documentBase64'] := Encode64(cBuffer)    
aDocs[1]['name']           := 'Documento'
aDocs[1]['fileExtension']  := cExt
aDocs[1]['documentId']     := '1'
oJson['documents'] := aDocs

oJson['recipients'] := JsonObject():New()

aSign[_i]['email']   := AllTrim(cEmail)
aSign[_i]['name']    := AllTrim(cNomAs)
aSign[_i]['recipientId'] := AllTrim(Str(_iOrdem))
aSign[_i]['routingOrder']:= AllTrim(Str(_iOrdem))

Mauricio, entendi.

Mais pode apenas descrever como montar o Json para envio e também o retorno.
URL, Autenticação, e o que mais puder me descrever.

Obrigado

Boa Tarde @INOVA infelizmente só vi agora que respondeu. Meio complicado descrever cada um destes processos por aqui, mas vou editar a resposta com o que eu posso compartilhar.