Sample code for 30+ languages & platforms
Tcl

DocuSign List Folder Items

See more DocuSign Examples

Retrieves a list of the envelopes in the specified folder.

Chilkat Tcl Downloads

Tcl

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}/folders/{folderId}

# 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 folderId here:
CkHttp_SetUrlVar $http "accountId" "7f3f65ed-5e87-418d-94c1-92499ddc8252"
CkHttp_SetUrlVar $http "folderId" "94644782-31b7-4f82-a2c1-26d8a9306f8c"

set sbResponseBody [new_CkStringBuilder]

set success [CkHttp_QuickGetSb $http "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders/{$folderId}" $sbResponseBody]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $jsonToken
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttp_lastResponseHeader $http]
    puts "Failed."
    delete_CkHttp $http
    delete_CkJsonObject $jsonToken
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "resultSetSize": "sample string 1",
#   "startPosition": "sample string 2",
#   "endPosition": "sample string 3",
#   "totalSetSize": "sample string 4",
#   "previousUri": "sample string 5",
#   "nextUri": "sample string 6",
#   "folderItems": [
#     {
#       "ownerName": "sample string 1",
#       "envelopeId": "sample string 2",
#       "envelopeUri": "sample string 3",
#       "status": "sample string 4",
#       "senderName": "sample string 5",
#       "senderEmail": "sample string 6",
#       "createdDateTime": "sample string 7",
#       "sentDateTime": "sample string 8",
#       "completedDateTime": "sample string 9",
#       "subject": "sample string 10",
#       "templateId": "sample string 11",
#       "name": "sample string 12",
#       "shared": "sample string 13",
#       "password": "sample string 14",
#       "description": "sample string 15",
#       "lastModified": "sample string 16",
#       "pageCount": 17,
#       "uri": "sample string 18",
#       "is21CFRPart11": "sample string 19",
#       "isSignatureProviderEnvelope": "sample string 20",
#       "customFields": [
#         {
#           "fieldId": "sample string 1",
#           "name": "sample string 2",
#           "show": "sample string 3",
#           "required": "sample string 4",
#           "value": "sample string 5",
#           "configurationType": "sample string 6",
#           "errorDetails": {
#             "errorCode": "sample string 1",
#             "message": "sample string 2"
#           }
#         }
#       ]
#     }
#   ]
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

set resultSetSize [CkJsonObject_stringOf $jResp "resultSetSize"]
set startPosition [CkJsonObject_stringOf $jResp "startPosition"]
set endPosition [CkJsonObject_stringOf $jResp "endPosition"]
set totalSetSize [CkJsonObject_stringOf $jResp "totalSetSize"]
set previousUri [CkJsonObject_stringOf $jResp "previousUri"]
set nextUri [CkJsonObject_stringOf $jResp "nextUri"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "folderItems"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set ownerName [CkJsonObject_stringOf $jResp "folderItems[i].ownerName"]
    set envelopeId [CkJsonObject_stringOf $jResp "folderItems[i].envelopeId"]
    set envelopeUri [CkJsonObject_stringOf $jResp "folderItems[i].envelopeUri"]
    set status [CkJsonObject_stringOf $jResp "folderItems[i].status"]
    set senderName [CkJsonObject_stringOf $jResp "folderItems[i].senderName"]
    set senderEmail [CkJsonObject_stringOf $jResp "folderItems[i].senderEmail"]
    set createdDateTime [CkJsonObject_stringOf $jResp "folderItems[i].createdDateTime"]
    set sentDateTime [CkJsonObject_stringOf $jResp "folderItems[i].sentDateTime"]
    set completedDateTime [CkJsonObject_stringOf $jResp "folderItems[i].completedDateTime"]
    set subject [CkJsonObject_stringOf $jResp "folderItems[i].subject"]
    set templateId [CkJsonObject_stringOf $jResp "folderItems[i].templateId"]
    set name [CkJsonObject_stringOf $jResp "folderItems[i].name"]
    set shared [CkJsonObject_stringOf $jResp "folderItems[i].shared"]
    set password [CkJsonObject_stringOf $jResp "folderItems[i].password"]
    set description [CkJsonObject_stringOf $jResp "folderItems[i].description"]
    set lastModified [CkJsonObject_stringOf $jResp "folderItems[i].lastModified"]
    set pageCount [CkJsonObject_IntOf $jResp "folderItems[i].pageCount"]
    set uri [CkJsonObject_stringOf $jResp "folderItems[i].uri"]
    set is21CFRPart11 [CkJsonObject_stringOf $jResp "folderItems[i].is21CFRPart11"]
    set isSignatureProviderEnvelope [CkJsonObject_stringOf $jResp "folderItems[i].isSignatureProviderEnvelope"]
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "folderItems[i].customFields"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set fieldId [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].fieldId"]
        set name [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].name"]
        set show [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].show"]
        set required [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].required"]
        set value [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].value"]
        set configurationType [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].configurationType"]
        set errorDetailsErrorCode [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].errorDetails.errorCode"]
        set errorDetailsMessage [CkJsonObject_stringOf $jResp "folderItems[i].customFields[j].errorDetails.message"]
        set j [expr $j + 1]
    }
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkJsonObject $jsonToken
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp