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"
Dim rest As New ChilkatRest
Dim success As Long
' URL: https://my-dynamics-domain.api.crm.dynamics.com/api/data/v9.0/contacts
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("my-dynamics-domain.api.crm.dynamics.com",port,bTls,bAutoReconnect)
If (success <> 1) Then
Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
Debug.Print rest.LastErrorText
Exit Sub
End If
success = rest.AddQueryParam("$select","contactid")
success = rest.AddQueryParam("$filter","fullname eq 'Tomasz Bochenek'")
success = rest.AddHeader("OData-MaxVersion","4.0")
success = rest.AddHeader("Accept","application/json")
success = rest.AddHeader("OData-Version","4.0")
success = rest.AddHeader("Authorization","Bearer DYNAMICS_CRM_ACCESS_TOKEN")
Dim sbResponseBody As New ChilkatStringBuilder
success = rest.FullRequestNoBodySb("GET","/api/data/v9.0/contacts",sbResponseBody)
If (success <> 1) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
Dim respStatusCode As Long
respStatusCode = rest.ResponseStatusCode
If (respStatusCode >= 400) Then
Debug.Print "Response Status Code = " & respStatusCode
Debug.Print "Response Header:"
Debug.Print rest.ResponseHeader
Debug.Print "Response Body:"
Debug.Print sbResponseBody.GetAsString()
Exit Sub
End If
Dim jsonResponse As New ChilkatJsonObject
success = jsonResponse.LoadSb(sbResponseBody)
Dim i As Long
Dim count_i As Long
Dim odataContext As String
odataContext = jsonResponse.StringOf("""@odata.context""")
i = 0
count_i = jsonResponse.SizeOfArray("value")
Do While i < count_i
jsonResponse.I = i
Dim odataEtag As String
odataEtag = jsonResponse.StringOf("value[i].""@odata.etag""")
Dim contactid As String
contactid = jsonResponse.StringOf("value[i].contactid")
i = i + 1
Loop
{
"@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"
}
]
}