Sample code for 30+ languages & platforms
Go Requires Chilkat v11.0.0+

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()