Sample code for 30+ languages & platforms
Tcl

SugarCRM Getting a Record

See more SugarCRM Examples

Gets a record from the Sugar instance using the //:record endpoint. In this example we get an Account record by it's ID, but only request the Name, Email, and Industry fields.

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 CURL command:

# curl -H OAuth-Token:<access_token> -H Cache-Control:no-cache http://<site_url>/rest/v10/Accounts/<record_id>?fields=name,email1,industry

CkHttp_SetRequestHeader $http "Cache-Control" "no-cache"
CkHttp_SetRequestHeader $http "OAuth-Token" "<access_token>"

set sbResponseBody [new_CkStringBuilder]

set success [CkHttp_QuickGetSb $http "http://<site_url>/rest/v10/Accounts/<record_id>?fields=name,email1,industry" $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": "ab2222df-73da-0e92-6887-5705428f4d68",
#   "name": "Test Record",
#   "date_modified": "2016-04-06T15:03:21-04:00",
#   "industry": "",
#   "email1": "test@sugar.com",
#   "_acl": {
#     "fields": {}
#   },
#   "_module": "Accounts"
# }

# 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 name [CkJsonObject_stringOf $jResp "name"]
set date_modified [CkJsonObject_stringOf $jResp "date_modified"]
set industry [CkJsonObject_stringOf $jResp "industry"]
set email1 [CkJsonObject_stringOf $jResp "email1"]
set v_module [CkJsonObject_stringOf $jResp "_module"]

delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp