Sample code for 30+ languages & platforms
Perl

SugarCRM Updating a Record

See more SugarCRM Examples

Demonstrates how to update a record in the Sugar instance using the //:record endpoint, and the PUT Http method. In this example we update the Account record and change it's name to "Updated Test Record".

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = chilkat::CkHttp->new();

# Implements the following CURL command:

# curl -X PUT -H OAuth-Token:<access_token> -H Cache-Control:no-cache -d '{ 
#    "name":"Updated Record"
# }' http://<site_url>/rest/v10/Accounts/<record_id>

# Use this online tool to generate code from sample JSON:
# Generate Code to Create JSON

# The following JSON is sent in the request body.

# {
#   "name": "Updated Record"
# }

$json = chilkat::CkJsonObject->new();
$json->UpdateString("name","Updated Record");

$http->SetRequestHeader("Cache-Control","no-cache");
$http->SetRequestHeader("OAuth-Token","<access_token>");

$sbRequestBody = chilkat::CkStringBuilder->new();
$json->EmitSb($sbRequestBody);

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpSb("PUT","http://<site_url>/rest/v10/Accounts/<record_id>",$sbRequestBody,"utf-8","application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$sbResponseBody = chilkat::CkStringBuilder->new();
$resp->GetBodySb($sbResponseBody);
$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);

print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";

$respStatusCode = $resp->get_StatusCode();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode >= 400) {
    print "Response Header:" . "\r\n";
    print $resp->header() . "\r\n";
    print "Failed." . "\r\n";
    exit;
}

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

# {
#   "id": "ab2222df-73da-0e92-6887-5705428f4d68",
#   "name": "Updated Test Record",
#   "date_entered": "2016-04-06T15:03:21-04:00",
#   "date_modified": "2016-04-06T15:03:22-04:00",
#   "modified_user_id": "1",
#   "modified_by_name": "Administrator",
#   "modified_user_link": {
#     "full_name": "Administrator",
#     "id": "1",
#     "_acl": {
#       "fields": [
#       ],
#       "delete": "no",
#       "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
#     }
#   },
#   "created_by": "1",
#   "created_by_name": "Administrator",
#   "created_by_link": {
#     "full_name": "Administrator",
#     "id": "1",
#     "_acl": {
#       "fields": [
#       ],
#       "delete": "no",
#       "_hash": "8e11bf9be8f04daddee9d08d44ea891e"
#     }
#   },
#   "description": "",
#   "deleted": false,
#   "facebook": "",
#   "twitter": "",
#   "googleplus": "",
#   "account_type": "",
#   "industry": "",
#   "annual_revenue": "",
#   "phone_fax": "",
#   "billing_address_street": "",
#   "billing_address_street_2": "",
#   "billing_address_street_3": "",
#   "billing_address_street_4": "",
#   "billing_address_city": "",
#   "billing_address_state": "",
#   "billing_address_postalcode": "",
#   "billing_address_country": "",
#   "rating": "",
#   "phone_office": "",
#   "phone_alternate": "",
#   "website": "",
#   "ownership": "",
#   "employees": "",
#   "ticker_symbol": "",
#   "shipping_address_street": "",
#   "shipping_address_street_2": "",
#   "shipping_address_street_3": "",
#   "shipping_address_street_4": "",
#   "shipping_address_city": "",
#   "shipping_address_state": "",
#   "shipping_address_postalcode": "",
#   "shipping_address_country": "",
#   "parent_id": "",
#   "sic_code": "",
#   "duns_num": "",
#   "parent_name": "",
#   "member_of": {
#     "name": "",
#     "id": "",
#     "_acl": {
#       "fields": [
#       ],
#       "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
#     }
#   },
#   "campaign_id": "",
#   "campaign_name": "",
#   "campaign_accounts": {
#     "name": "",
#     "id": "",
#     "_acl": {
#       "fields": [
#       ],
#       "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
#     }
#   },
#   "following": true,
#   "my_favorite": false,
#   "tag": [
#   ],
#   "assigned_user_id": "",
#   "assigned_user_name": "",
#   "assigned_user_link": {
#     "full_name": "",
#     "id": "",
#     "_acl": {
#       "fields": [
#       ],
#       "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
#     }
#   },
#   "team_count": "",
#   "team_count_link": {
#     "team_count": "",
#     "id": "1",
#     "_acl": {
#       "fields": [
#       ],
#       "_hash": "654d337e0e912edaa00dbb0fb3dc3c17"
#     }
#   },
#   "team_name": [
#     {
#       "id": 1,
#       "name": "Global",
#       "name_2": "",
#       "primary": true
#     }
#   ],
#   "email": [
#     {
#       "email_address": "test@sugar.com",
#       "invalid_email": false,
#       "opt_out": false,
#       "primary_address": true,
#       "reply_to_address": false
#     }
#   ],
#   "email1": "test@sugar.com",
#   "email2": "",
#   "invalid_email": false,
#   "email_opt_out": false,
#   "email_addresses_non_primary": "",
#   "_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

$id = $jResp->stringOf("id");
$name = $jResp->stringOf("name");
$date_entered = $jResp->stringOf("date_entered");
$date_modified = $jResp->stringOf("date_modified");
$modified_user_id = $jResp->stringOf("modified_user_id");
$modified_by_name = $jResp->stringOf("modified_by_name");
$modified_user_linkFull_name = $jResp->stringOf("modified_user_link.full_name");
$modified_user_linkId = $jResp->stringOf("modified_user_link.id");
$modified_user_link_aclDelete = $jResp->stringOf("modified_user_link._acl.delete");
$modified_user_link_acl_hash = $jResp->stringOf("modified_user_link._acl._hash");
$created_by = $jResp->stringOf("created_by");
$created_by_name = $jResp->stringOf("created_by_name");
$created_by_linkFull_name = $jResp->stringOf("created_by_link.full_name");
$created_by_linkId = $jResp->stringOf("created_by_link.id");
$created_by_link_aclDelete = $jResp->stringOf("created_by_link._acl.delete");
$created_by_link_acl_hash = $jResp->stringOf("created_by_link._acl._hash");
$description = $jResp->stringOf("description");
$deleted = $jResp->BoolOf("deleted");
$facebook = $jResp->stringOf("facebook");
$twitter = $jResp->stringOf("twitter");
$googleplus = $jResp->stringOf("googleplus");
$account_type = $jResp->stringOf("account_type");
$industry = $jResp->stringOf("industry");
$annual_revenue = $jResp->stringOf("annual_revenue");
$phone_fax = $jResp->stringOf("phone_fax");
$billing_address_street = $jResp->stringOf("billing_address_street");
$billing_address_street_2 = $jResp->stringOf("billing_address_street_2");
$billing_address_street_3 = $jResp->stringOf("billing_address_street_3");
$billing_address_street_4 = $jResp->stringOf("billing_address_street_4");
$billing_address_city = $jResp->stringOf("billing_address_city");
$billing_address_state = $jResp->stringOf("billing_address_state");
$billing_address_postalcode = $jResp->stringOf("billing_address_postalcode");
$billing_address_country = $jResp->stringOf("billing_address_country");
$rating = $jResp->stringOf("rating");
$phone_office = $jResp->stringOf("phone_office");
$phone_alternate = $jResp->stringOf("phone_alternate");
$website = $jResp->stringOf("website");
$ownership = $jResp->stringOf("ownership");
$employees = $jResp->stringOf("employees");
$ticker_symbol = $jResp->stringOf("ticker_symbol");
$shipping_address_street = $jResp->stringOf("shipping_address_street");
$shipping_address_street_2 = $jResp->stringOf("shipping_address_street_2");
$shipping_address_street_3 = $jResp->stringOf("shipping_address_street_3");
$shipping_address_street_4 = $jResp->stringOf("shipping_address_street_4");
$shipping_address_city = $jResp->stringOf("shipping_address_city");
$shipping_address_state = $jResp->stringOf("shipping_address_state");
$shipping_address_postalcode = $jResp->stringOf("shipping_address_postalcode");
$shipping_address_country = $jResp->stringOf("shipping_address_country");
$parent_id = $jResp->stringOf("parent_id");
$sic_code = $jResp->stringOf("sic_code");
$duns_num = $jResp->stringOf("duns_num");
$parent_name = $jResp->stringOf("parent_name");
$member_ofName = $jResp->stringOf("member_of.name");
$member_ofId = $jResp->stringOf("member_of.id");
$member_of_acl_hash = $jResp->stringOf("member_of._acl._hash");
$campaign_id = $jResp->stringOf("campaign_id");
$campaign_name = $jResp->stringOf("campaign_name");
$campaign_accountsName = $jResp->stringOf("campaign_accounts.name");
$campaign_accountsId = $jResp->stringOf("campaign_accounts.id");
$campaign_accounts_acl_hash = $jResp->stringOf("campaign_accounts._acl._hash");
$following = $jResp->BoolOf("following");
$my_favorite = $jResp->BoolOf("my_favorite");
$assigned_user_id = $jResp->stringOf("assigned_user_id");
$assigned_user_name = $jResp->stringOf("assigned_user_name");
$assigned_user_linkFull_name = $jResp->stringOf("assigned_user_link.full_name");
$assigned_user_linkId = $jResp->stringOf("assigned_user_link.id");
$assigned_user_link_acl_hash = $jResp->stringOf("assigned_user_link._acl._hash");
$team_count = $jResp->stringOf("team_count");
$team_count_linkTeam_count = $jResp->stringOf("team_count_link.team_count");
$team_count_linkId = $jResp->stringOf("team_count_link.id");
$team_count_link_acl_hash = $jResp->stringOf("team_count_link._acl._hash");
$email1 = $jResp->stringOf("email1");
$email2 = $jResp->stringOf("email2");
$invalid_email = $jResp->BoolOf("invalid_email");
$email_opt_out = $jResp->BoolOf("email_opt_out");
$email_addresses_non_primary = $jResp->stringOf("email_addresses_non_primary");
$v_module = $jResp->stringOf("_module");
$i = 0;
$count_i = $jResp->SizeOfArray("modified_user_link._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("created_by_link._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("member_of._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("campaign_accounts._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("tag");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("assigned_user_link._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("team_count_link._acl.fields");
while ($i < $count_i) {
    $jResp->put_I($i);
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("team_name");
while ($i < $count_i) {
    $jResp->put_I($i);
    $id_int = $jResp->IntOf("team_name[i].id");
    $name = $jResp->stringOf("team_name[i].name");
    $name_2 = $jResp->stringOf("team_name[i].name_2");
    $primary = $jResp->BoolOf("team_name[i].primary");
    $i = $i + 1;
}

$i = 0;
$count_i = $jResp->SizeOfArray("email");
while ($i < $count_i) {
    $jResp->put_I($i);
    $email_address = $jResp->stringOf("email[i].email_address");
    $invalid_email = $jResp->BoolOf("email[i].invalid_email");
    $opt_out = $jResp->BoolOf("email[i].opt_out");
    $primary_address = $jResp->BoolOf("email[i].primary_address");
    $reply_to_address = $jResp->BoolOf("email[i].reply_to_address");
    $i = $i + 1;
}