B4X
B4X
SugarCRM Filtering Records
See more SugarCRM Examples
Export records and filter.Chilkat B4X Downloads
Dim success As Boolean = False
Dim rest As ChilkatRest
rest.Initialize("rest")
success = rest.Connect("your.site.domain", 443, True, True)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
rest.AddHeader("Cache-Control", "no-cache")
rest.AddHeader("OAuth-Token", "<access_token>")
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
Dim jsonReq As ChilkatJsonObject
jsonReq.Initialize
jsonReq.UpdateString("filter[0].$or[0].name.$starts", "A")
jsonReq.UpdateString("filter[0].$or[1].name.$starts", "b")
jsonReq.UpdateNumber("max_num", "2")
jsonReq.UpdateNumber("offset", "0")
jsonReq.UpdateString("fields", "id")
jsonReq.UpdateString("order_by", "date_entered")
jsonReq.UpdateBool("favorites", False)
jsonReq.UpdateBool("my_items", False)
' The JSON request body created by the above code:
' {
' "filter": [
' {
' "$or": [
' {
' "name": {
' "$starts": "A"
' }
' },
' {
' "name": {
' "$starts": "b"
' }
' }
' ]
' }
' ],
' "max_num": 2,
' "offset": 0,
' "fields": "id",
' "order_by": "date_entered",
' "favorites": false,
' "my_items": false
' }
Dim sbReq As ChilkatStringBuilder
sbReq.Initialize
jsonReq.EmitSb(sbReq)
rest.AddHeader("Content-Type", "application/json")
Dim sbJson As ChilkatStringBuilder
sbJson.Initialize
success = rest.FullRequestSb("POST", "/rest/v10/Accounts/filter", sbReq, sbJson)
If success <> True Then
Log(rest.LastErrorText)
Return
End If
If rest.ResponseStatusCode <> 200 Then
Log("Received error response code: " & rest.ResponseStatusCode)
Log("Response body:")
Log(sbJson.GetAsString)
Return
End If
Dim json As ChilkatJsonObject
json.Initialize
json.LoadSb(sbJson)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
Dim next_offset As Int
Dim i As Int
Dim count_i As Int
Dim id As String
Dim date_modified As String
Dim v_module As String
next_offset = json.IntOf("next_offset")
i = 0
count_i = json.SizeOfArray("records")
Do While i < count_i
json.I = i
id = json.StringOf("records[i].id")
date_modified = json.StringOf("records[i].date_modified")
v_module = json.StringOf("records[i]._module")
i = i + 1
Loop
' A sample JSON response body that is parsed by the above code:
' {
' "next_offset": 2,
' "records": [
' {
' "id": "f16760a4-3a52-f77d-1522-5703ca28925f",
' "date_modified": "2016-04-05T10:23:28-04:00",
' "_acl": {
' "fields": {}
' },
' "_module": "Accounts"
' },
' {
' "id": "ec409fbb-2b22-4f32-7fa1-5703caf78dc3",
' "date_modified": "2016-04-05T10:23:28-04:00",
' "_acl": {
' "fields": {}
' },
' "_module": "Accounts"
' }
' ]
' }
Log("Example Completed.")