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

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

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

$http->put_Accept("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

$jsonRequestBody = chilkat::CkJsonObject->new();
$jsonRequestBody->UpdateString("first_name","Rob");
$jsonRequestBody->UpdateString("last_name","Robertson");
$jsonRequestBody->UpdateString("email[0].email_address",'rob.robertson@sugar.crm');
$jsonRequestBody->UpdateString("email[0].primary_address","1");
$jsonRequestBody->UpdateString("email[0].invalid_email","0");
$jsonRequestBody->UpdateString("email[0].opt_out","0");
$jsonRequestBody->UpdateString("email[1].email_address",'rob@sugar.crm');
$jsonRequestBody->UpdateString("email[1].primary_address","0");
$jsonRequestBody->UpdateString("email[1].invalid_email","0");
$jsonRequestBody->UpdateString("email[1].opt_out","1");

$url = "http://<site url>/rest/v10/Contacts";

$http->SetRequestHeader("OAuth-Token","ACCESS_TOKEN");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST",$url,$jsonRequestBody,"application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response Status Code: " . $resp->get_StatusCode() . "\r\n";

$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->Load($resp->bodyStr());
$jsonResponse->put_EmitCompact(0);
print $jsonResponse->emit() . "\r\n";

if ($resp->get_StatusCode() >= 300) {
    print "Failed." . "\r\n";
    exit;
}