Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Implements the following HTTP request:
# GET /restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents/1
# Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
set jsonToken [new_CkJsonObject]
# Load a previously obtained OAuth2 access token.
set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/docusign.json"]
if {$success == 0} then {
puts [CkJsonObject_lastErrorText $jsonToken]
delete_CkHttp $http
delete_CkJsonObject $jsonToken
exit
}
CkHttp_put_AuthToken $http [CkJsonObject_stringOf $jsonToken "access_token"]
# Use your account ID and a valid envelopeId here:
CkHttp_SetUrlVar $http "accountId" "7f3f65ed-5e87-418d-94c1-92499ddc8252"
CkHttp_SetUrlVar $http "envelopeId" "90d7e40a-b4bd-4ccd-bf38-c80e37954a13"
set url "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/envelopes/{$envelopeId}/documents/1"
set bd [new_CkBinData]
set success [CkHttp_DownloadBd $http $url $bd]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $jsonToken
delete_CkBinData $bd
exit
}
set respStatusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode != 200} then {
puts "Response Header:"
puts [CkHttp_lastResponseHeader $http]
# The response body contains an error message.
puts [CkBinData_getString $bd utf-8]
puts "Failed."
delete_CkHttp $http
delete_CkJsonObject $jsonToken
delete_CkBinData $bd
exit
}
# The response indicated success.
# Get the filename from the Content-Disposition header and save to a file.
set mime [new_CkMime]
CkMime_LoadMime $mime [CkHttp_lastResponseHeader $http]
set filename [CkMime_getHeaderFieldAttribute $mime "Content-Disposition" "filename"]
puts "filename = $filename"
set sbPath [new_CkStringBuilder]
CkStringBuilder_Append $sbPath "C:/aaworkarea/"
CkStringBuilder_Append $sbPath $filename
set success [CkBinData_WriteFile $bd [CkStringBuilder_getAsString $sbPath]]
if {$success == 0} then {
puts "Failed to save to output file."
} else {
puts "Wrote [CkStringBuilder_getAsString $sbPath]"
}
delete_CkHttp $http
delete_CkJsonObject $jsonToken
delete_CkBinData $bd
delete_CkMime $mime
delete_CkStringBuilder $sbPath