Objective-C
Objective-C
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 Objective-C Downloads
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoBinData.h>
#import <CkoMime.h>
#import <CkoStringBuilder.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
// Implements the following HTTP request:
// GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/1
// Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init];
// Load a previously obtained OAuth2 access token.
success = [jsonToken LoadFile: @"qa_data/tokens/docusign.json"];
if (success == NO) {
NSLog(@"%@",jsonToken.LastErrorText);
return;
}
http.AuthToken = [jsonToken StringOf: @"access_token"];
// Use your account ID and a valid envelopeId here:
[http SetUrlVar: @"accountId" value: @"7f3f65ed-5e87-418d-94c1-92499ddc8252"];
[http SetUrlVar: @"envelopeId" value: @"90d7e40a-b4bd-4ccd-bf38-c80e37954a13"];
NSString *url = @"https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1";
CkoBinData *bd = [[CkoBinData alloc] init];
success = [http DownloadBd: url binData: bd];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
int respStatusCode = [http.LastStatus intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode != 200) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",http.LastResponseHeader);
// The response body contains an error message.
NSLog(@"%@",[bd GetString: @"utf-8"]);
NSLog(@"%@",@"Failed.");
return;
}
// The response indicated success.
// Get the filename from the Content-Disposition header and save to a file.
CkoMime *mime = [[CkoMime alloc] init];
[mime LoadMime: http.LastResponseHeader];
NSString *filename = [mime GetHeaderFieldAttribute: @"Content-Disposition" attrName: @"filename"];
NSLog(@"%@%@",@"filename = ",filename);
CkoStringBuilder *sbPath = [[CkoStringBuilder alloc] init];
[sbPath Append: @"C:/aaworkarea/"];
[sbPath Append: filename];
success = [bd WriteFile: [sbPath GetAsString]];
if (success == NO) {
NSLog(@"%@",@"Failed to save to output file.");
}
else {
NSLog(@"%@%@",@"Wrote ",[sbPath GetAsString]);
}