Sample code for 30+ languages & platforms
Perl

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;
}