Tcl
Tcl
Yousign: Making your first API call
See more Yousign Examples
Demonstrates making the simplest of calls to test your API key. This example tests using the sandbox URLs.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 CURL command:
# curl --location --request GET 'https://staging-api.yousign.com/users' \
# --header 'Authorization: Bearer YOUR_API_KEY' \
# --header 'Content-Type: application/json'
# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code
# Adds the "Authorization: Bearer YOUR_API_KEY" header.
CkHttp_put_AuthToken $http "YOUR_API_KEY"
CkHttp_SetRequestHeader $http "Content-Type" "application/json"
set sbResponseBody [new_CkStringBuilder]
set success [CkHttp_QuickGetSb $http "https://staging-api.yousign.com/users" $sbResponseBody]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
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_lastHeader $http]
puts "Failed."
delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp
exit
}
# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)
# {
# "id": "/users/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
# "firstname": "John",
# "lastname": "Doe",
# "email": "john.doe@yousign.fr",
# "title": "Developer",
# "phone": "+33612345678",
# "status": "activated",
# "organization": "/organizations/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
# "workspaces": [
# {
# "id": "/workspaces/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
# "name": "Acme"
# }
# ],
# "permission": "ROLE_ADMIN",
# "group": {
# "id": "/user_groups/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
# "name": "Administrateur",
# "permissions": [
# "procedure_write",
# "procedure_template_write",
# "procedure_create_from_template",
# "contact",
# "sign",
# "organization",
# "user",
# "api_key",
# "procedure_custom_field",
# "signature_ui",
# "certificate",
# "archive"
# ]
# },
# "createdAt": "2018-12-01T09:42:25+01:00",
# "updatedAt": "2018-12-01T09:42:25+01:00",
# "deleted": false,
# "deletedAt": null,
# "config": [
# ],
# "inweboUserRequest": null,
# "samlNameId": null,
# "defaultSignImage": null,
# "notifications": {
# "procedure": true
# },
# "fastSign": false,
# "fullName": "John Doe"
# }
# 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 id [CkJsonObject_stringOf $jResp "id"]
set firstname [CkJsonObject_stringOf $jResp "firstname"]
set lastname [CkJsonObject_stringOf $jResp "lastname"]
set email [CkJsonObject_stringOf $jResp "email"]
set title [CkJsonObject_stringOf $jResp "title"]
set phone [CkJsonObject_stringOf $jResp "phone"]
set status [CkJsonObject_stringOf $jResp "status"]
set organization [CkJsonObject_stringOf $jResp "organization"]
set permission [CkJsonObject_stringOf $jResp "permission"]
set groupId [CkJsonObject_stringOf $jResp "group.id"]
set groupName [CkJsonObject_stringOf $jResp "group.name"]
set createdAt [CkJsonObject_stringOf $jResp "createdAt"]
set updatedAt [CkJsonObject_stringOf $jResp "updatedAt"]
set deleted [CkJsonObject_BoolOf $jResp "deleted"]
set deletedAt [CkJsonObject_stringOf $jResp "deletedAt"]
set inweboUserRequest [CkJsonObject_stringOf $jResp "inweboUserRequest"]
set samlNameId [CkJsonObject_stringOf $jResp "samlNameId"]
set defaultSignImage [CkJsonObject_stringOf $jResp "defaultSignImage"]
set notificationsProcedure [CkJsonObject_BoolOf $jResp "notifications.procedure"]
set fastSign [CkJsonObject_BoolOf $jResp "fastSign"]
set fullName [CkJsonObject_stringOf $jResp "fullName"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "workspaces"]
while {$i < $count_i} {
CkJsonObject_put_I $jResp $i
set id [CkJsonObject_stringOf $jResp "workspaces[i].id"]
set name [CkJsonObject_stringOf $jResp "workspaces[i].name"]
set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "group.permissions"]
while {$i < $count_i} {
CkJsonObject_put_I $jResp $i
set strVal [CkJsonObject_stringOf $jResp "group.permissions[i]"]
set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "config"]
while {$i < $count_i} {
CkJsonObject_put_I $jResp $i
set i [expr $i + 1]
}
delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp