Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$http = new COM("Chilkat.Http");

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

// Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
$jsonToken = new COM("Chilkat.JsonObject");
// Load a previously obtained OAuth2 access token.
$success = $jsonToken->LoadFile('qa_data/tokens/docusign.json');
if ($success == 0) {
    print $jsonToken->LastErrorText . "\n";
    exit;
}

$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');

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

$success = $http->DownloadBd($url,$bd);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

$respStatusCode = $http->LastStatus;
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode != 200) {
    print 'Response Header:' . "\n";
    print $http->LastResponseHeader . "\n";
    // The response body contains an error message.
    print $bd->getString('utf-8') . "\n";
    print 'Failed.' . "\n";
    exit;
}

// The response indicated success.
// Get the filename from the Content-Disposition header and save to a file.
$mime = new COM("Chilkat.Mime");
$mime->LoadMime($http->LastResponseHeader);

$filename = $mime->getHeaderFieldAttribute('Content-Disposition','filename');
print 'filename = ' . $filename . "\n";

$sbPath = new COM("Chilkat.StringBuilder");
$sbPath->Append('C:/aaworkarea/');
$sbPath->Append($filename);
$success = $bd->WriteFile($sbPath->getAsString());
if ($success == 0) {
    print 'Failed to save to output file.' . "\n";
}
else {
    print 'Wrote ' . $sbPath->getAsString() . "\n";
}


?>