Creates a new account.
curl -X POST https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/accounts \
-H "Accept: application/json" \
-H "Content-Type: application/json; charset=utf-8" \
-H "OData-MaxVersion: 4.0" \
-H "OData-Version: 4.0" \
-H "Authorization: Bearer DYNAMICS_CRM_ACCESS_TOKEN" \
-d '{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1
}'
#include <C_CkRest.h>
#include <C_CkJsonObject.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
HCkRest rest;
BOOL success;
BOOL bTls;
int port;
BOOL bAutoReconnect;
HCkJsonObject json;
HCkStringBuilder sbRequestBody;
HCkStringBuilder sbResponseBody;
int respStatusCode;
rest = CkRest_Create();
// URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/accounts
bTls = TRUE;
port = 443;
bAutoReconnect = TRUE;
success = CkRest_Connect(rest,"my-dynamics-domain.api.crm.dynamics.com",port,bTls,bAutoReconnect);
if (success != TRUE) {
printf("ConnectFailReason: %d\n",CkRest_getConnectFailReason(rest));
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
return;
}
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"name","Sample Account");
CkJsonObject_UpdateBool(json,"creditonhold",FALSE);
CkJsonObject_UpdateNumber(json,"address1_latitude","47.639583");
CkJsonObject_UpdateString(json,"description","This is the description of the sample account");
CkJsonObject_UpdateNumber(json,"revenue","5000000");
CkJsonObject_UpdateNumber(json,"accountcategorycode","1");
CkRest_AddHeader(rest,"Content-Type","application/json; charset=utf-8");
CkRest_AddHeader(rest,"OData-Version","4.0");
CkRest_AddHeader(rest,"Accept","application/json");
CkRest_AddHeader(rest,"OData-MaxVersion","4.0");
CkRest_AddHeader(rest,"Authorization","Bearer DYNAMICS_CRM_ACCESS_TOKEN");
sbRequestBody = CkStringBuilder_Create();
CkJsonObject_EmitSb(json,sbRequestBody);
sbResponseBody = CkStringBuilder_Create();
success = CkRest_FullRequestSb(rest,"POST","/api/data/v9.0/accounts",sbRequestBody,sbResponseBody);
if (success != TRUE) {
printf("%s\n",CkRest_lastErrorText(rest));
CkRest_Dispose(rest);
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sbRequestBody);
CkStringBuilder_Dispose(sbResponseBody);
return;
}
respStatusCode = CkRest_getResponseStatusCode(rest);
if (respStatusCode >= 400) {
printf("Response Status Code = %d\n",respStatusCode);
printf("Response Header:\n");
printf("%s\n",CkRest_responseHeader(rest));
printf("Response Body:\n");
printf("%s\n",CkStringBuilder_getAsString(sbResponseBody));
CkRest_Dispose(rest);
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sbRequestBody);
CkStringBuilder_Dispose(sbResponseBody);
return;
}
CkRest_Dispose(rest);
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sbRequestBody);
CkStringBuilder_Dispose(sbResponseBody);
}