Sample code for 30+ languages & platforms
Go

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    http.SetAccept("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.NewJsonObject()
    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.NewHttpResponse()
    success = http.HttpJson("POST",url,jsonRequestBody,"application/json",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        jsonRequestBody.DisposeJsonObject()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("Response Status Code: ", resp.StatusCode())

    jsonResponse := chilkat.NewJsonObject()
    jsonResponse.Load(resp.BodyStr())
    jsonResponse.SetEmitCompact(false)
    fmt.Println(*jsonResponse.Emit())

    if resp.StatusCode() >= 300 {
        fmt.Println("Failed.")
        http.DisposeHttp()
        jsonRequestBody.DisposeJsonObject()
        resp.DisposeHttpResponse()
        jsonResponse.DisposeJsonObject()
        return
    }


    http.DisposeHttp()
    jsonRequestBody.DisposeJsonObject()
    resp.DisposeHttpResponse()
    jsonResponse.DisposeJsonObject()