Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { BinData, Http, JsonObject, Mime, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const 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.
  const jsonToken = new JsonObject();
  // Load a previously obtained OAuth2 access token.
  try {
    jsonToken.loadFile('qa_data/tokens/docusign.json');
  } catch {
    console.log(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');

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

  try {
    await http.downloadBdAsync(url, bd);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const respStatusCode = http.lastStatus;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode !== 200) {
    console.log('Response Header:');
    console.log(http.lastResponseHeader);
    // The response body contains an error message.
    console.log(bd.getString('utf-8'));
    console.log('Failed.');
    return;
  }

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

  const filename = mime.getHeaderFieldAttribute('Content-Disposition', 'filename');
  console.log(`filename = ${filename}`);

  const sbPath = new StringBuilder();
  sbPath.append('C:/aaworkarea/');
  sbPath.append(filename);
  try {
    bd.writeFile(sbPath.getAsString());
    console.log(`Wrote ${sbPath.getAsString()}`);
  } catch {
    console.log('Failed to save to output file.');
  }
}