Sample code for 30+ languages & platforms
Unicode C++

Activix CRM Create a Communication

See more Activix CRM Examples

Create a communication. Returns the created communication.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkHttpW.h>
#include <CkJsonObjectW.h>
#include <CkHttpResponseW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkHttpW http;

    http.put_AuthToken(L"ACCESS_TOKEN");

    http.put_Accept(L"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

    CkJsonObjectW jsonRequestBody;
    jsonRequestBody.UpdateString(L"lead_id",L"LEAD_ID");
    jsonRequestBody.UpdateString(L"method",L"phone");
    jsonRequestBody.UpdateString(L"type",L"outgoing");
    jsonRequestBody.UpdateString(L"call_status",L"calling");

    const wchar_t *url = L"https://crm.activix.ca/api/v2/communications";

    CkHttpResponseW resp;
    success = http.HttpJson(L"POST",url,jsonRequestBody,L"application/json",resp);
    if (success == false) {
        wprintf(L"%s\n",http.lastErrorText());
        return;
    }

    wprintf(L"Response Status Code: %d\n",resp.get_StatusCode());

    CkJsonObjectW jsonResponse;
    jsonResponse.Load(resp.bodyStr());
    jsonResponse.put_EmitCompact(false);
    wprintf(L"%s\n",jsonResponse.emit());

    if (resp.get_StatusCode() >= 300) {
        wprintf(L"Failed.\n");
        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"
    //   }
    // }
    // 

    int dataId;
    const wchar_t *dataCreated_at = 0;
    const wchar_t *dataUpdated_at = 0;
    int dataLead_id;
    int dataUser_id;
    const wchar_t *dataMethod = 0;
    const wchar_t *dataType = 0;
    const wchar_t *dataEmail_subject = 0;
    const wchar_t *dataEmail_body = 0;
    const wchar_t *dataEmail_client = 0;
    const wchar_t *dataEmail_user = 0;
    const wchar_t *dataCall_duration = 0;
    const wchar_t *dataCall_phone = 0;
    const wchar_t *dataCall_status = 0;

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