Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.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 New Chilkat.JsonObject
// Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
If (success = False) Then
    System.DebugLog(jsonToken.LastErrorText)
    Return
End If

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

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

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

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

Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode <> 200) Then
    System.DebugLog("Response Header:")
    System.DebugLog(http.LastResponseHeader)
    // The response body contains an error message.
    System.DebugLog(bd.GetString("utf-8"))
    System.DebugLog("Failed.")
    Return
End If

// The response indicated success.
// Get the filename from the Content-Disposition header and save to a file.
Dim mime As New Chilkat.Mime
success = mime.LoadMime(http.LastResponseHeader)

Dim filename As String
filename = mime.GetHeaderFieldAttribute("Content-Disposition","filename")
System.DebugLog("filename = " + filename)

Dim sbPath As New Chilkat.StringBuilder
success = sbPath.Append("C:/aaworkarea/")
success = sbPath.Append(filename)
success = bd.WriteFile(sbPath.GetAsString())
If (success = False) Then
    System.DebugLog("Failed to save to output file.")
Else
    System.DebugLog("Wrote " + sbPath.GetAsString())
End If