Sample code for 30+ languages & platforms
B4X

SugarCRM Filtering Records

See more SugarCRM Examples

Export records and filter.

Chilkat B4X Downloads

B4X
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.")