Find a contactid given a fullname.
curl -X GET https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts
-H "Accept: application/json" \
-H "OData-MaxVersion: 4.0" \
-H "OData-Version: 4.0" \
-d "$select=contactid" \
-d "$filter=fullname eq 'Tomasz Bochenek'" \
-H "Authorization: Bearer DYNAMICS_CRM_ACCESS_TOKEN"
Use ChilkatAx-9.5.0-win32.pkg
Procedure Test
Handle hoRest
Boolean iSuccess
Boolean iBTls
Integer iPort
Boolean iBAutoReconnect
Variant vSbResponseBody
Handle hoSbResponseBody
Integer iRespStatusCode
Handle hoJsonResponse
Integer i
Integer iCount_i
String sOdataContext
String sOdataEtag
String sContactid
String sTemp1
Integer iTemp1
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
// URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts
Move True To iBTls
Move 443 To iPort
Move True To iBAutoReconnect
Get ComConnect Of hoRest "my-dynamics-domain.api.crm.dynamics.com" iPort iBTls iBAutoReconnect To iSuccess
If (iSuccess <> True) Begin
Get ComConnectFailReason Of hoRest To iTemp1
Showln "ConnectFailReason: " iTemp1
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComAddQueryParam Of hoRest "$select" "contactid" To iSuccess
Get ComAddQueryParam Of hoRest "$filter" "fullname eq 'Tomasz Bochenek'" To iSuccess
Get ComAddHeader Of hoRest "OData-MaxVersion" "4.0" To iSuccess
Get ComAddHeader Of hoRest "Accept" "application/json" To iSuccess
Get ComAddHeader Of hoRest "OData-Version" "4.0" To iSuccess
Get ComAddHeader Of hoRest "Authorization" "Bearer DYNAMICS_CRM_ACCESS_TOKEN" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
Send CreateComObject of hoSbResponseBody
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComFullRequestNoBodySb Of hoRest "GET" "/api/data/v9.0/contacts" vSbResponseBody To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComResponseStatusCode Of hoRest To iRespStatusCode
If (iRespStatusCode >= 400) Begin
Showln "Response Status Code = " iRespStatusCode
Showln "Response Header:"
Get ComResponseHeader Of hoRest To sTemp1
Showln sTemp1
Showln "Response Body:"
Get ComGetAsString Of hoSbResponseBody To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResponse
If (Not(IsComObjectCreated(hoJsonResponse))) Begin
Send CreateComObject of hoJsonResponse
End
Get pvComObject of hoSbResponseBody to vSbResponseBody
Get ComLoadSb Of hoJsonResponse vSbResponseBody To iSuccess
Get ComStringOf Of hoJsonResponse '"@odata.context"' To sOdataContext
Move 0 To i
Get ComSizeOfArray Of hoJsonResponse "value" To iCount_i
While (i < iCount_i)
Set ComI Of hoJsonResponse To i
Get ComStringOf Of hoJsonResponse 'value[i]."@odata.etag"' To sOdataEtag
Get ComStringOf Of hoJsonResponse "value[i].contactid" To sContactid
Move i + 1 To i
Loop
End_Procedure
{
"@odata.context": "https://mydomain.api.crm.dynamics.com/api/data/v9.0/$metadata#contacts(contactid)",
"value": [
{
"@odata.etag": "W/\"1162210\"",
"contactid": "1fa1e5b9-88df-e311-b8e5-6c3be5a8b200"
}
]
}