Perl
Perl
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 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/1
# 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");
$url = "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1";
$bd = chilkat::CkBinData->new();
$success = $http->DownloadBd($url,$bd);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
$respStatusCode = $http->get_LastStatus();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode != 200) {
print "Response Header:" . "\r\n";
print $http->lastResponseHeader() . "\r\n";
# The response body contains an error message.
print $bd->getString("utf-8") . "\r\n";
print "Failed." . "\r\n";
exit;
}
# The response indicated success.
# Get the filename from the Content-Disposition header and save to a file.
$mime = chilkat::CkMime->new();
$mime->LoadMime($http->lastResponseHeader());
$filename = $mime->getHeaderFieldAttribute("Content-Disposition","filename");
print "filename = " . $filename . "\r\n";
$sbPath = chilkat::CkStringBuilder->new();
$sbPath->Append("C:/aaworkarea/");
$sbPath->Append($filename);
$success = $bd->WriteFile($sbPath->getAsString());
if ($success == 0) {
print "Failed to save to output file." . "\r\n";
}
else {
print "Wrote " . $sbPath->getAsString() . "\r\n";
}