C
C
SugarCRM: Importing Email Addresses (New Records)
See more SugarCRM Examples
Demonstrates how to import a new contact with email addresses.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;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
CkHttp_putAccept(http,"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
jsonRequestBody = CkJsonObject_Create();
CkJsonObject_UpdateString(jsonRequestBody,"first_name","Rob");
CkJsonObject_UpdateString(jsonRequestBody,"last_name","Robertson");
CkJsonObject_UpdateString(jsonRequestBody,"email[0].email_address","rob.robertson@sugar.crm");
CkJsonObject_UpdateString(jsonRequestBody,"email[0].primary_address","1");
CkJsonObject_UpdateString(jsonRequestBody,"email[0].invalid_email","0");
CkJsonObject_UpdateString(jsonRequestBody,"email[0].opt_out","0");
CkJsonObject_UpdateString(jsonRequestBody,"email[1].email_address","rob@sugar.crm");
CkJsonObject_UpdateString(jsonRequestBody,"email[1].primary_address","0");
CkJsonObject_UpdateString(jsonRequestBody,"email[1].invalid_email","0");
CkJsonObject_UpdateString(jsonRequestBody,"email[1].opt_out","1");
url = "http://<site url>/rest/v10/Contacts";
CkHttp_SetRequestHeader(http,"OAuth-Token","ACCESS_TOKEN");
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;
}
CkHttp_Dispose(http);
CkJsonObject_Dispose(jsonRequestBody);
CkHttpResponse_Dispose(resp);
CkJsonObject_Dispose(jsonResponse);
}