Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

SugarCRM Create a Record

See more SugarCRM Examples

Submit a record to the Sugar instance using the / endpoint. In this example we are going to create an Account record with a Name of 'Test Record' and an email of 'test@sugar.com'.

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 POST -H OAuth-Token:<access_token> -H Cache-Control:no-cache -d '{ 
#     "name":"Test Record",
#     "email1":"test@sugar.com"
#  }' http://<site_url>/rest/v10/Accounts

#  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": "Test Record",
#    "email1": "test@sugar.com"
#  }

$json = chilkat::CkJsonObject->new();
$json->UpdateString("name","Test Record");
$json->UpdateString("email1",'test@sugar.com');

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

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST","http://<site_url>/rest/v10/Accounts",$json,"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": "Test Record",
#    "date_entered": "2016-04-06T13:07:41-04:00",
#    "date_modified": "2016-04-06T13:07:41-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;
}