Returns the subject, description, start date/time and activity ID for phone calls regarding an account. This example gets the phone calls regarding the Fourth Coffee account (accountid = b6a19cdd-88df-e311-b8e5-6c3be5a8b200).
curl -X GET https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/phonecalls \
-H "Accept: application/json" \
-H "OData-MaxVersion: 4.0" \
-H "OData-Version: 4.0" \
-d "$filter=_regardingobjectid_value eq b6a19cdd-88df-e311-b8e5-6c3be5a8b200" \
-d "$select=subject,description,actualstart,activityid" \
-H "Authorization: Bearer DYNAMICS_CRM_ACCESS_TOKEN"
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
Procedure ChilkatExample()
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/phonecalls
bTls.i = 1
port.i = 443
bAutoReconnect.i = 1
success = CkRest::ckConnect(rest,"my-dynamics-domain.api.crm.dynamics.com",port,bTls,bAutoReconnect)
If success <> 1
Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
ProcedureReturn
EndIf
CkRest::ckAddQueryParam(rest,"$filter","_regardingobjectid_value eq b6a19cdd-88df-e311-b8e5-6c3be5a8b200")
CkRest::ckAddQueryParam(rest,"$select","subject,description,actualstart,activityid")
CkRest::ckAddHeader(rest,"OData-MaxVersion","4.0")
CkRest::ckAddHeader(rest,"Accept","application/json")
CkRest::ckAddHeader(rest,"OData-Version","4.0")
CkRest::ckAddHeader(rest,"Authorization","Bearer DYNAMICS_CRM_ACCESS_TOKEN")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestNoBodySb(rest,"GET","/api/data/v9.0/phonecalls",sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
respStatusCode.i = CkRest::ckResponseStatusCode(rest)
If respStatusCode >= 400
Debug "Response Status Code = " + Str(respStatusCode)
Debug "Response Header:"
Debug CkRest::ckResponseHeader(rest)
Debug "Response Body:"
Debug CkStringBuilder::ckGetAsString(sbResponseBody)
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jsonResponse.i = CkJsonObject::ckCreate()
If jsonResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jsonResponse,sbResponseBody)
i.i
count_i.i
odataContext.s = CkJsonObject::ckStringOf(jsonResponse,Chr(34) + "@odata.context" + Chr(34))
i = 0
count_i = CkJsonObject::ckSizeOfArray(jsonResponse,"value")
While i < count_i
CkJsonObject::setCkI(jsonResponse, i)
odataEtag.s = CkJsonObject::ckStringOf(jsonResponse,"value[i]." + Chr(34) + "@odata.etag" + Chr(34))
subject.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].subject")
description.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].description")
actualstart.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].actualstart")
activityid.s = CkJsonObject::ckStringOf(jsonResponse,"value[i].activityid")
i = i + 1
Wend
CkRest::ckDispose(rest)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndProcedure
{
"@odata.context": "https://mydomain.api.crm.dynamics.com/api/data/v9.0/$metadata#phonecalls(subject,description,actualstart,activityid)",
"value": [
{
"@odata.etag": "W/\"1818469\"",
"subject": "Discussed coffee bean pricing.",
"description": "Discussed coffee bean pricing.",
"actualstart": "2018-04-29T11:56:21Z",
"activityid": "098af854-a44b-e811-a955-000d3a1ca612"
}
]
}