Perl
Perl
DocuSign List Envelope Documents
See more DocuSign Examples
Retrieve a list of all documents within a specific envelope.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = chilkat::CkHttp->new();
# Implements the following HTTP request:
# GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents
# Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
$jsonToken = chilkat::CkJsonObject->new();
# Load a previously obtained OAuth2 access token.
$success = $jsonToken->LoadFile("qa_data/tokens/docusign.json");
if ($success == 0) {
print $jsonToken->lastErrorText() . "\r\n";
exit;
}
$http->put_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");
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $http->QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents",$sbResponseBody);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);
print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";
$respStatusCode = $http->get_LastStatus();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode >= 400) {
print "Response Header:" . "\r\n";
print $http->lastHeader() . "\r\n";
print "Failed." . "\r\n";
exit;
}
# 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
$envelopeId = $jResp->stringOf("envelopeId");
$i = 0;
$count_i = $jResp->SizeOfArray("envelopeDocuments");
while ($i < $count_i) {
$jResp->put_I($i);
$documentId = $jResp->stringOf("envelopeDocuments[i].documentId");
$documentIdGuid = $jResp->stringOf("envelopeDocuments[i].documentIdGuid");
$name = $jResp->stringOf("envelopeDocuments[i].name");
$v_type = $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;
$count_j = $jResp->SizeOfArray("envelopeDocuments[i].pages");
while ($j < $count_j) {
$jResp->put_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 + 1;
}
$j = 0;
$count_j = $jResp->SizeOfArray("envelopeDocuments[i].availableDocumentTypes");
while ($j < $count_j) {
$jResp->put_J($j);
$v_type = $jResp->stringOf("envelopeDocuments[i].availableDocumentTypes[j].type");
$isDefault = $jResp->stringOf("envelopeDocuments[i].availableDocumentTypes[j].isDefault");
$j = $j + 1;
}
$i = $i + 1;
}