Sample code for 30+ languages & platforms
Java

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Mime;
import com.chilkatsoft.chilkat2.StringBuilder;

public class ChilkatExample {

    public static void main(String[] args) {
        boolean success = false;

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

        Http http = new Http();

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

        // Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
        JsonObject jsonToken = new JsonObject();
        // Load a previously obtained OAuth2 access token.
        try {
            jsonToken.loadFile("qa_data/tokens/docusign.json");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        http.setAuthToken(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";
        BinData bd = new BinData();

        try {
            http.downloadBd(url, bd);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        int respStatusCode = http.getLastStatus();
        System.out.println("Response Status Code = " + respStatusCode);
        if (respStatusCode != 200) {
            System.out.println("Response Header:");
            System.out.println(http.getLastResponseHeader());
            // The response body contains an error message.
            System.out.println(bd.getString("utf-8"));
            System.out.println("Failed.");
            return;
        }

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

        String filename = mime.getHeaderFieldAttribute("Content-Disposition", "filename");
        System.out.println("filename = " + filename);

        StringBuilder sbPath = new StringBuilder();
        sbPath.append("C:/aaworkarea/");
        sbPath.append(filename);
        try {
            bd.writeFile(sbPath.getAsString());
            success = true;
        } catch (ChilkatException e) {
            success = false;
        }
        if (!success) {
            System.out.println("Failed to save to output file.");
        } else {
            System.out.println("Wrote " + sbPath.getAsString());
        }
    }
}