Sample code for 30+ languages & platforms
B4X

DocuSign Download Envelope Document (PDF)

See more DocuSign Examples

Retrieves the specified document from the envelope. The response body of this method is the PDF file as a byte stream. You can get the file name and document ID from the response's Content-Disposition header.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following HTTP request:
'  GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/1

'  Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
'  Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
If success = False Then
    Log(jsonToken.LastErrorText)
    Return
End If


http.AuthToken = jsonToken.StringOf("access_token")

'  Use your account ID and a valid envelopeId here:
http.SetUrlVar("accountId", "7f3f65ed-5e87-418d-94c1-92499ddc8252")
http.SetUrlVar("envelopeId", "90d7e40a-b4bd-4ccd-bf38-c80e37954a13")

Dim url As String = "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1"
Dim bd As ChilkatBinData
bd.Initialize

success = http.DownloadBd(url, bd)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode <> 200 Then
    Log("Response Header:")
    Log(http.LastResponseHeader)
    '  The response body contains an error message.
    Log(bd.GetString("utf-8"))
    Log("Failed.")
    Return
End If


'  The response indicated success.
'  Get the filename from the Content-Disposition header and save to a file.
Dim mime As ChilkatMime
mime.Initialize
mime.LoadMime(http.LastResponseHeader)

Dim filename As String = mime.GetHeaderFieldAttribute("Content-Disposition", "filename")
Log("filename = " & filename)

Dim sbPath As ChilkatStringBuilder
sbPath.Initialize
sbPath.Append("C:/aaworkarea/")
sbPath.Append(filename)
success = bd.WriteFile(sbPath.GetAsString)
If success = False Then
    Log("Failed to save to output file.")
Else
    Log("Wrote " & sbPath.GetAsString)
End If