Tcl
Tcl
SugarCRM: Importing Email Addresses (New Records)
See more SugarCRM Examples
Demonstrates how to import a new contact with email addresses.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
CkHttp_put_Accept $http "application/json"
# The following JSON is sent in the request body:
# {
# "first_name": "Rob",
# "last_name": "Robertson",
# "email": [
# {
# "email_address": "rob.robertson@sugar.crm",
# "primary_address": "1",
# "invalid_email": "0",
# "opt_out": "0"
# },
# {
# "email_address": "rob@sugar.crm",
# "primary_address": "0",
# "invalid_email": "0",
# "opt_out": "1"
# }
# ]
# }
# Use this online tool to generate the code from sample JSON:
# Generate Code to Create JSON
set jsonRequestBody [new_CkJsonObject]
CkJsonObject_UpdateString $jsonRequestBody "first_name" "Rob"
CkJsonObject_UpdateString $jsonRequestBody "last_name" "Robertson"
CkJsonObject_UpdateString $jsonRequestBody "email[0].email_address" "rob.robertson@sugar.crm"
CkJsonObject_UpdateString $jsonRequestBody "email[0].primary_address" "1"
CkJsonObject_UpdateString $jsonRequestBody "email[0].invalid_email" "0"
CkJsonObject_UpdateString $jsonRequestBody "email[0].opt_out" "0"
CkJsonObject_UpdateString $jsonRequestBody "email[1].email_address" "rob@sugar.crm"
CkJsonObject_UpdateString $jsonRequestBody "email[1].primary_address" "0"
CkJsonObject_UpdateString $jsonRequestBody "email[1].invalid_email" "0"
CkJsonObject_UpdateString $jsonRequestBody "email[1].opt_out" "1"
set url "http://<site url>/rest/v10/Contacts"
CkHttp_SetRequestHeader $http "OAuth-Token" "ACCESS_TOKEN"
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" $url $jsonRequestBody "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $jsonRequestBody
delete_CkHttpResponse $resp
exit
}
puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"
set jsonResponse [new_CkJsonObject]
CkJsonObject_Load $jsonResponse [CkHttpResponse_bodyStr $resp]
CkJsonObject_put_EmitCompact $jsonResponse 0
puts [CkJsonObject_emit $jsonResponse]
if {[CkHttpResponse_get_StatusCode $resp] >= 300} then {
puts "Failed."
delete_CkHttp $http
delete_CkJsonObject $jsonRequestBody
delete_CkHttpResponse $resp
delete_CkJsonObject $jsonResponse
exit
}
delete_CkHttp $http
delete_CkJsonObject $jsonRequestBody
delete_CkHttpResponse $resp
delete_CkJsonObject $jsonResponse