C
C
Activix CRM Create a Communication
See more Activix CRM Examples
Create a communication. Returns the created communication.Chilkat C Downloads
#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);
}