Sample code for 30+ languages & platforms
Tcl

SugarCRM Create a Record List

See more SugarCRM Examples

Create a record list in Sugar consisting of a set of ids.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set rest [new_CkRest]

set success [CkRest_Connect $rest "your.site.domain" 443 1 1]
if {$success != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

CkRest_AddHeader $rest "Cache-Control" "no-cache"
CkRest_AddHeader $rest "OAuth-Token" "<access_token>"

# The following code creates the JSON request body.
# The JSON created by this code is shown below.
set jsonReq [new_CkJsonObject]

CkJsonObject_UpdateString $jsonReq "records[0]" "f16760a4-3a52-f77d-1522-5703ca28925f"
CkJsonObject_UpdateString $jsonReq "records[1]" "ec409fbb-2b22-4f32-7fa1-5703caf78dc3"

# The JSON request body created by the above code:

# {
#   "records": [
#     "f16760a4-3a52-f77d-1522-5703ca28925f",
#     "ec409fbb-2b22-4f32-7fa1-5703caf78dc3"
#   ]
# }

set sbReq [new_CkStringBuilder]

CkJsonObject_EmitSb $jsonReq $sbReq

CkRest_AddHeader $rest "Content-Type" "application/json"

set sbJson [new_CkStringBuilder]

set success [CkRest_FullRequestSb $rest "POST" "/rest/v10/Accounts/record_list" $sbReq $sbJson]
if {$success != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkJsonObject $jsonReq
    delete_CkStringBuilder $sbReq
    delete_CkStringBuilder $sbJson
    exit
}

if {[CkRest_get_ResponseStatusCode $rest] != 200} then {
    puts "Received error response code: [CkRest_get_ResponseStatusCode $rest]"
    puts "Response body:"
    puts [CkStringBuilder_getAsString $sbJson]
    delete_CkRest $rest
    delete_CkJsonObject $jsonReq
    delete_CkStringBuilder $sbReq
    delete_CkStringBuilder $sbJson
    exit
}

set json [new_CkJsonObject]

CkJsonObject_LoadSb $json $sbJson

# The following code parses the JSON response.
# A sample JSON response is shown below the sample code.

set id [CkJsonObject_stringOf $json "id"]
set assigned_user_id [CkJsonObject_stringOf $json "assigned_user_id"]
set module_name [CkJsonObject_stringOf $json "module_name"]
set date_modified [CkJsonObject_stringOf $json "date_modified"]
set i 0
set count_i [CkJsonObject_SizeOfArray $json "records"]
while {$i < $count_i} {
    CkJsonObject_put_I $json $i
    set strVal [CkJsonObject_stringOf $json "records[i]"]
    set i [expr $i + 1]
}

# A sample JSON response body that is parsed by the above code:

# {
#   "id": "ef963176-4845-bc55-b03e-570430b4173c",
#   "assigned_user_id": "1",
#   "module_name": "Accounts",
#   "records": [
#     "f16760a4-3a52-f77d-1522-5703ca28925f",
#     "ec409fbb-2b22-4f32-7fa1-5703caf78dc3"
#   ],
#   "date_modified": "2016-04-05 21:39:19"
# }

puts "Example Completed."

delete_CkRest $rest
delete_CkJsonObject $jsonReq
delete_CkStringBuilder $sbReq
delete_CkStringBuilder $sbJson
delete_CkJsonObject $json