Sample code for 30+ languages & platforms
Lianja

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loHttp = createobject("CkHttp")

loHttp.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

loJsonRequestBody = createobject("CkJsonObject")
loJsonRequestBody.UpdateString("first_name","Rob")
loJsonRequestBody.UpdateString("last_name","Robertson")
loJsonRequestBody.UpdateString("email[0].email_address","rob.robertson@sugar.crm")
loJsonRequestBody.UpdateString("email[0].primary_address","1")
loJsonRequestBody.UpdateString("email[0].invalid_email","0")
loJsonRequestBody.UpdateString("email[0].opt_out","0")
loJsonRequestBody.UpdateString("email[1].email_address","rob@sugar.crm")
loJsonRequestBody.UpdateString("email[1].primary_address","0")
loJsonRequestBody.UpdateString("email[1].invalid_email","0")
loJsonRequestBody.UpdateString("email[1].opt_out","1")

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

loHttp.SetRequestHeader("OAuth-Token","ACCESS_TOKEN")

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpJson("POST",lcUrl,loJsonRequestBody,"application/json",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJsonRequestBody
    release loResp
    return
endif

? "Response Status Code: " + str(loResp.StatusCode)

loJsonResponse = createobject("CkJsonObject")
loJsonResponse.Load(loResp.BodyStr)
loJsonResponse.EmitCompact = .F.
? loJsonResponse.Emit()

if (loResp.StatusCode >= 300) then
    ? "Failed."
    release loHttp
    release loJsonRequestBody
    release loResp
    release loJsonResponse
    return
endif



release loHttp
release loJsonRequestBody
release loResp
release loJsonResponse