Sample code for 30+ languages & platforms
Xojo Plugin

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New 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

Dim jsonRequestBody As New Chilkat.JsonObject
success = jsonRequestBody.UpdateString("first_name","Rob")
success = jsonRequestBody.UpdateString("last_name","Robertson")
success = jsonRequestBody.UpdateString("email[0].email_address","rob.robertson@sugar.crm")
success = jsonRequestBody.UpdateString("email[0].primary_address","1")
success = jsonRequestBody.UpdateString("email[0].invalid_email","0")
success = jsonRequestBody.UpdateString("email[0].opt_out","0")
success = jsonRequestBody.UpdateString("email[1].email_address","rob@sugar.crm")
success = jsonRequestBody.UpdateString("email[1].primary_address","0")
success = jsonRequestBody.UpdateString("email[1].invalid_email","0")
success = jsonRequestBody.UpdateString("email[1].opt_out","1")

Dim url As String
url = "http://<site url>/rest/v10/Contacts"

http.SetRequestHeader "OAuth-Token","ACCESS_TOKEN"

Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST",url,jsonRequestBody,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog("Response Status Code: " + Str(resp.StatusCode))

Dim jsonResponse As New Chilkat.JsonObject
success = jsonResponse.Load(resp.BodyStr)
jsonResponse.EmitCompact = False
System.DebugLog(jsonResponse.Emit())

If (resp.StatusCode >= 300) Then
    System.DebugLog("Failed.")
    Return
End If