Sample code for 30+ languages & platforms
PowerShell

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$http = New-Object Chilkat.Http

$http.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 = New-Object Chilkat.JsonObject
$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 = New-Object Chilkat.HttpResponse
$success = $http.HttpJson("POST",$url,$jsonRequestBody,"application/json",$resp)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$("Response Status Code: " + $resp.StatusCode)

$jsonResponse = New-Object Chilkat.JsonObject
$jsonResponse.Load($resp.BodyStr)
$jsonResponse.EmitCompact = $false
$($jsonResponse.Emit())

if ($resp.StatusCode -ge 300) {
    $("Failed.")
    exit
}