Sample code for 30+ languages & platforms
Go

Activix CRM Create a Communication

See more Activix CRM Examples

Create a communication. Returns the created communication.

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.SetAuthToken("ACCESS_TOKEN")

    http.SetAccept("application/json")

    // The following JSON is sent in the request body:

    // {
    //   "lead_id": "LEAD_ID",
    //   "method": "phone",
    //   "type": "outgoing",
    //   "call_status": "calling"
    // }

    // Use this online tool to generate the code from sample JSON: 
    // Generate Code to Create JSON

    jsonRequestBody := chilkat.NewJsonObject()
    jsonRequestBody.UpdateString("lead_id","LEAD_ID")
    jsonRequestBody.UpdateString("method","phone")
    jsonRequestBody.UpdateString("type","outgoing")
    jsonRequestBody.UpdateString("call_status","calling")

    url := "https://crm.activix.ca/api/v2/communications"

    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
    }

    // Sample output...
    // (See the parsing code below..)
    // 
    // Use the this online tool to generate parsing code from sample JSON: 
    // Generate Parsing Code from JSON

    // {
    //   "data": {
    //     "id": 5411998,
    //     "created_at": "2019-06-10T13:01:40+00:00",
    //     "updated_at": "2019-06-10T13:01:40+00:00",
    //     "lead_id": 7135833,
    //     "user_id": 13705,
    //     "method": "phone",
    //     "type": "outgoing",
    //     "email_subject": null,
    //     "email_body": null,
    //     "email_client": null,
    //     "email_user": null,
    //     "call_duration": null,
    //     "call_phone": null,
    //     "call_status": "calling"
    //   }
    // }
    // 

    var dataId int
    var dataCreated_at *string = new(string)
    var dataUpdated_at *string = new(string)
    var dataLead_id int
    var dataUser_id int
    var dataMethod *string = new(string)
    var dataType *string = new(string)
    var dataEmail_subject *string = new(string)
    var dataEmail_body *string = new(string)
    var dataEmail_client *string = new(string)
    var dataEmail_user *string = new(string)
    var dataCall_duration *string = new(string)
    var dataCall_phone *string = new(string)
    var dataCall_status *string = new(string)

    dataId = jsonResponse.IntOf("data.id")
    dataCreated_at = jsonResponse.StringOf("data.created_at")
    dataUpdated_at = jsonResponse.StringOf("data.updated_at")
    dataLead_id = jsonResponse.IntOf("data.lead_id")
    dataUser_id = jsonResponse.IntOf("data.user_id")
    dataMethod = jsonResponse.StringOf("data.method")
    dataType = jsonResponse.StringOf("data.type")
    dataEmail_subject = jsonResponse.StringOf("data.email_subject")
    dataEmail_body = jsonResponse.StringOf("data.email_body")
    dataEmail_client = jsonResponse.StringOf("data.email_client")
    dataEmail_user = jsonResponse.StringOf("data.email_user")
    dataCall_duration = jsonResponse.StringOf("data.call_duration")
    dataCall_phone = jsonResponse.StringOf("data.call_phone")
    dataCall_status = jsonResponse.StringOf("data.call_status")

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