Xbase++ Requires Chilkat v11.0.0+
Xbase++
SugarCRM: Importing Email Addresses (New Records)
See more SugarCRM Examples
Demonstrates how to import a new contact with email addresses.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oHttp
LOCAL oJsonRequestBody
LOCAL cUrl
LOCAL oResp
LOCAL oJsonResponse
nSuccess := 0
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oHttp := CreateObject("Chilkat.Http")
oHttp: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
oJsonRequestBody := CreateObject("Chilkat.JsonObject")
oJsonRequestBody:UpdateString("first_name", "Rob")
oJsonRequestBody:UpdateString("last_name", "Robertson")
oJsonRequestBody:UpdateString("email[0].email_address", "rob.robertson@sugar.crm")
oJsonRequestBody:UpdateString("email[0].primary_address", "1")
oJsonRequestBody:UpdateString("email[0].invalid_email", "0")
oJsonRequestBody:UpdateString("email[0].opt_out", "0")
oJsonRequestBody:UpdateString("email[1].email_address", "rob@sugar.crm")
oJsonRequestBody:UpdateString("email[1].primary_address", "0")
oJsonRequestBody:UpdateString("email[1].invalid_email", "0")
oJsonRequestBody:UpdateString("email[1].opt_out", "1")
cUrl := "http://<site url>/rest/v10/Contacts"
oHttp:SetRequestHeader("OAuth-Token", "ACCESS_TOKEN")
oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", cUrl, oJsonRequestBody, "application/json", oResp)
IF (nSuccess == 0)
? oHttp:LastErrorText
oHttp:destroy()
oJsonRequestBody:destroy()
oResp:destroy()
RETURN
ENDIF
? "Response Status Code: " + Str(oResp:StatusCode)
oJsonResponse := CreateObject("Chilkat.JsonObject")
oJsonResponse:Load(oResp:BodyStr)
oJsonResponse:EmitCompact := 0
? oJsonResponse:Emit()
IF (oResp:StatusCode >= 300)
? "Failed."
oHttp:destroy()
oJsonRequestBody:destroy()
oResp:destroy()
oJsonResponse:destroy()
RETURN
ENDIF
oHttp:destroy()
oJsonRequestBody:destroy()
oResp:destroy()
oJsonResponse:destroy()