Sample code for 30+ languages & platforms
Dart

DocuSign List Envelope Documents

See more DocuSign Examples

Retrieve a list of all documents within a specific envelope.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

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

  // Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
  final jsonToken = CkJsonObject();
  // Load a previously obtained OAuth2 access token.
  try {
    jsonToken.loadFile('qa_data/tokens/docusign.json');
  } on ChilkatException catch (e) {
    print(e.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');

  final sbResponseBody = CkStringBuilder();
  try {
    http.quickGetSb('https://demo.docusign.net/restapi/v2.1/accounts/{\$accountId}/envelopes/{\$envelopeId}/documents', sbResponseBody);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = http.lastStatus;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(http.lastHeader);
    print('Failed.');
    return;
  }

  // Sample JSON response:
  // (Sample code for parsing the JSON response is shown below)

  // {
  //   "envelopeId": "90d7e40a-b4bd-4ccd-bf38-c80e37954a13",
  //   "envelopeDocuments": [
  //     {
  //       "documentId": "1",
  //       "documentIdGuid": "ca1d3cc6-9bc3-48d6-a5d8-a85d9acdcde1",
  //       "name": "helloWorld.pdf",
  //       "type": "content",
  //       "uri": "/envelopes/90d7e40a-b4bd-4ccd-bf38-c80e37954a13/documents/1",
  //       "order": "1",
  //       "pages": [
  //         {
  //           "pageId": "fbf93a36-6b60-484d-94bd-ee3c08c0a546",
  //           "sequence": "1",
  //           "height": "842",
  //           "width": "595",
  //           "dpi": "72"
  //         }
  //       ],
  //       "availableDocumentTypes": [
  //         {
  //           "type": "electronic",
  //           "isDefault": "true"
  //         }
  //       ],
  //       "display": "inline",
  //       "includeInDownload": "true",
  //       "signerMustAcknowledge": "no_interaction",
  //       "templateRequired": "false",
  //       "authoritativeCopy": "false"
  //     },
  //     {
  //       "documentId": "certificate",
  //       "documentIdGuid": "7479a5de-8d91-44a2-bc33-b76a9ba0f6e2",
  //       "name": "Summary",
  //       "type": "summary",
  //       "uri": "/envelopes/90d7e40a-b4bd-4ccd-bf38-c80e37954a13/documents/certificate",
  //       "order": "999",
  //       "availableDocumentTypes": [
  //         {
  //           "type": "electronic",
  //           "isDefault": "true"
  //         }
  //       ],
  //       "display": "inline",
  //       "includeInDownload": "true",
  //       "signerMustAcknowledge": "no_interaction",
  //       "templateRequired": "false",
  //       "authoritativeCopy": "false"
  //     }
  //   ]
  // }

  // Sample code for parsing the JSON response...
  // Use the following online tool to generate parsing code from sample JSON:
  // Generate Parsing Code from JSON

  var documentId = '';
  var documentIdGuid = '';
  var name = '';
  var vType = '';
  var uri = '';
  var order = '';
  var display = '';
  var includeInDownload = '';
  var signerMustAcknowledge = '';
  var templateRequired = '';
  var authoritativeCopy = '';
  var j = 0;
  var countJ = 0;
  var pageId = '';
  var sequence = '';
  var height = '';
  var width = '';
  var dpi = '';
  var isDefault = '';

  final envelopeId = jResp.stringOf('envelopeId');
  var i = 0;
  final countI = jResp.sizeOfArray('envelopeDocuments');
  while (i < countI) {
    jResp.i = i;
    documentId = jResp.stringOf('envelopeDocuments[i].documentId');
    documentIdGuid = jResp.stringOf('envelopeDocuments[i].documentIdGuid');
    name = jResp.stringOf('envelopeDocuments[i].name');
    vType = jResp.stringOf('envelopeDocuments[i].type');
    uri = jResp.stringOf('envelopeDocuments[i].uri');
    order = jResp.stringOf('envelopeDocuments[i].order');
    display = jResp.stringOf('envelopeDocuments[i].display');
    includeInDownload = jResp.stringOf('envelopeDocuments[i].includeInDownload');
    signerMustAcknowledge = jResp.stringOf('envelopeDocuments[i].signerMustAcknowledge');
    templateRequired = jResp.stringOf('envelopeDocuments[i].templateRequired');
    authoritativeCopy = jResp.stringOf('envelopeDocuments[i].authoritativeCopy');
    j = 0;
    countJ = jResp.sizeOfArray('envelopeDocuments[i].pages');
    while (j < countJ) {
      jResp.j = j;
      pageId = jResp.stringOf('envelopeDocuments[i].pages[j].pageId');
      sequence = jResp.stringOf('envelopeDocuments[i].pages[j].sequence');
      height = jResp.stringOf('envelopeDocuments[i].pages[j].height');
      width = jResp.stringOf('envelopeDocuments[i].pages[j].width');
      dpi = jResp.stringOf('envelopeDocuments[i].pages[j].dpi');
      j++;
    }

    j = 0;
    countJ = jResp.sizeOfArray('envelopeDocuments[i].availableDocumentTypes');
    while (j < countJ) {
      jResp.j = j;
      vType = jResp.stringOf('envelopeDocuments[i].availableDocumentTypes[j].type');
      isDefault = jResp.stringOf('envelopeDocuments[i].availableDocumentTypes[j].isDefault');
      j++;
    }

    i++;
  }
}