Visual FoxPro
Visual FoxPro
SugarCRM Filtering Records
See more SugarCRM Examples
Export records and filter.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loRest
LOCAL loJsonReq
LOCAL loSbReq
LOCAL loSbJson
LOCAL loJson
LOCAL lnNext_offset
LOCAL i
LOCAL lnCount_i
LOCAL lcId
LOCAL lcDate_modified
LOCAL lcV_module
lnSuccess = 0
loRest = CreateObject('Chilkat.Rest')
lnSuccess = loRest.Connect("your.site.domain",443,1,1)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loRest.AddHeader("Cache-Control","no-cache")
loRest.AddHeader("OAuth-Token","<access_token>")
* The following code creates the JSON request body.
* The JSON created by this code is shown below.
loJsonReq = CreateObject('Chilkat.JsonObject')
loJsonReq.UpdateString("filter[0].$or[0].name.$starts","A")
loJsonReq.UpdateString("filter[0].$or[1].name.$starts","b")
loJsonReq.UpdateNumber("max_num","2")
loJsonReq.UpdateNumber("offset","0")
loJsonReq.UpdateString("fields","id")
loJsonReq.UpdateString("order_by","date_entered")
loJsonReq.UpdateBool("favorites",0)
loJsonReq.UpdateBool("my_items",0)
* 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
* }
loSbReq = CreateObject('Chilkat.StringBuilder')
loJsonReq.EmitSb(loSbReq)
loRest.AddHeader("Content-Type","application/json")
loSbJson = CreateObject('Chilkat.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/rest/v10/Accounts/filter",loSbReq,loSbJson)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
CANCEL
ENDIF
IF (loRest.ResponseStatusCode <> 200) THEN
? "Received error response code: " + STR(loRest.ResponseStatusCode)
? "Response body:"
? loSbJson.GetAsString()
RELEASE loRest
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
CANCEL
ENDIF
loJson = CreateObject('Chilkat.JsonObject')
loJson.LoadSb(loSbJson)
* The following code parses the JSON response.
* A sample JSON response is shown below the sample code.
lnNext_offset = loJson.IntOf("next_offset")
i = 0
lnCount_i = loJson.SizeOfArray("records")
DO WHILE i < lnCount_i
loJson.I = i
lcId = loJson.StringOf("records[i].id")
lcDate_modified = loJson.StringOf("records[i].date_modified")
lcV_module = loJson.StringOf("records[i]._module")
i = i + 1
ENDDO
* 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"
* }
* ]
* }
? "Example Completed."
RELEASE loRest
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
RELEASE loJson