Sample code for 30+ languages & platforms
.NET Core C#

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 .NET Core C# Downloads

.NET Core C#
bool success = false;

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

Chilkat.Http http = 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.
Chilkat.JsonObject jsonToken = new Chilkat.JsonObject();
// Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json");
if (success == false) {
    Debug.WriteLine(jsonToken.LastErrorText);
    return;
}

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");

string url = "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1";
Chilkat.BinData bd = new Chilkat.BinData();

success = http.DownloadBd(url,bd);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

int respStatusCode = http.LastStatus;
Debug.WriteLine("Response Status Code = " + Convert.ToString(respStatusCode));
if (respStatusCode != 200) {
    Debug.WriteLine("Response Header:");
    Debug.WriteLine(http.LastResponseHeader);
    // The response body contains an error message.
    Debug.WriteLine(bd.GetString("utf-8"));
    Debug.WriteLine("Failed.");
    return;
}

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

string filename = mime.GetHeaderFieldAttribute("Content-Disposition","filename");
Debug.WriteLine("filename = " + filename);

Chilkat.StringBuilder sbPath = new Chilkat.StringBuilder();
sbPath.Append("C:/aaworkarea/");
sbPath.Append(filename);
success = bd.WriteFile(sbPath.GetAsString());
if (success == false) {
    Debug.WriteLine("Failed to save to output file.");
}
else {
    Debug.WriteLine("Wrote " + sbPath.GetAsString());
}