Sample code for 30+ languages & platforms
C

Activix CRM Create a Communication

See more Activix CRM Examples

Create a communication. Returns the created communication.

Chilkat C Downloads

C
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttp http;
    HCkJsonObject jsonRequestBody;
    const char *url;
    HCkHttpResponse resp;
    HCkJsonObject jsonResponse;
    int dataId;
    const char *dataCreated_at;
    const char *dataUpdated_at;
    int dataLead_id;
    int dataUser_id;
    const char *dataMethod;
    const char *dataType;
    const char *dataEmail_subject;
    const char *dataEmail_body;
    const char *dataEmail_client;
    const char *dataEmail_user;
    const char *dataCall_duration;
    const char *dataCall_phone;
    const char *dataCall_status;

    success = FALSE;

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

    http = CkHttp_Create();

    CkHttp_putAuthToken(http,"ACCESS_TOKEN");

    CkHttp_putAccept(http,"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 = CkJsonObject_Create();
    CkJsonObject_UpdateString(jsonRequestBody,"lead_id","LEAD_ID");
    CkJsonObject_UpdateString(jsonRequestBody,"method","phone");
    CkJsonObject_UpdateString(jsonRequestBody,"type","outgoing");
    CkJsonObject_UpdateString(jsonRequestBody,"call_status","calling");

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

    resp = CkHttpResponse_Create();
    success = CkHttp_HttpJson(http,"POST",url,jsonRequestBody,"application/json",resp);
    if (success == FALSE) {
        printf("%s\n",CkHttp_lastErrorText(http));
        CkHttp_Dispose(http);
        CkJsonObject_Dispose(jsonRequestBody);
        CkHttpResponse_Dispose(resp);
        return;
    }

    printf("Response Status Code: %d\n",CkHttpResponse_getStatusCode(resp));

    jsonResponse = CkJsonObject_Create();
    CkJsonObject_Load(jsonResponse,CkHttpResponse_bodyStr(resp));
    CkJsonObject_putEmitCompact(jsonResponse,FALSE);
    printf("%s\n",CkJsonObject_emit(jsonResponse));

    if (CkHttpResponse_getStatusCode(resp) >= 300) {
        printf("Failed.\n");
        CkHttp_Dispose(http);
        CkJsonObject_Dispose(jsonRequestBody);
        CkHttpResponse_Dispose(resp);
        CkJsonObject_Dispose(jsonResponse);
        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"
    //   }
    // }
    // 

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


    CkHttp_Dispose(http);
    CkJsonObject_Dispose(jsonRequestBody);
    CkHttpResponse_Dispose(resp);
    CkJsonObject_Dispose(jsonResponse);

    }