Sample code for 30+ languages & platforms
Swift

SugarCRM: Importing Email Addresses (New Records)

See more SugarCRM Examples

Demonstrates how to import a new contact with email addresses.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

    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

    let jsonRequestBody = CkoJsonObject()!
    jsonRequestBody.updateString(jsonPath: "first_name", value: "Rob")
    jsonRequestBody.updateString(jsonPath: "last_name", value: "Robertson")
    jsonRequestBody.updateString(jsonPath: "email[0].email_address", value: "rob.robertson@sugar.crm")
    jsonRequestBody.updateString(jsonPath: "email[0].primary_address", value: "1")
    jsonRequestBody.updateString(jsonPath: "email[0].invalid_email", value: "0")
    jsonRequestBody.updateString(jsonPath: "email[0].opt_out", value: "0")
    jsonRequestBody.updateString(jsonPath: "email[1].email_address", value: "rob@sugar.crm")
    jsonRequestBody.updateString(jsonPath: "email[1].primary_address", value: "0")
    jsonRequestBody.updateString(jsonPath: "email[1].invalid_email", value: "0")
    jsonRequestBody.updateString(jsonPath: "email[1].opt_out", value: "1")

    var url: String? = "http://<site url>/rest/v10/Contacts"

    http.setRequestHeader(name: "OAuth-Token", value: "ACCESS_TOKEN")

    let resp = CkoHttpResponse()!
    success = http.httpJson(verb: "POST", url: url, json: jsonRequestBody, contentType: "application/json", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    print("Response Status Code: \(resp.statusCode.intValue)")

    let jsonResponse = CkoJsonObject()!
    jsonResponse.load(json: resp.bodyStr)
    jsonResponse.emitCompact = false
    print("\(jsonResponse.emit()!)")

    if resp.statusCode.intValue >= 300 {
        print("Failed.")
        return
    }


}