Dart
Dart
SugarCRM Filtering Records
See more SugarCRM Examples
Export records and filter.Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
final rest = CkRest();
try {
rest.connect('your.site.domain', 443, true, true);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
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.
final jsonReq = CkJsonObject();
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
// }
final sbReq = CkStringBuilder();
jsonReq.emitSb(sbReq);
rest.addHeader('Content-Type', 'application/json');
final sbJson = CkStringBuilder();
try {
rest.fullRequestSb('POST', '/rest/v10/Accounts/filter', sbReq, sbJson);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
if (rest.responseStatusCode != 200) {
print('Received error response code: ${rest.responseStatusCode}');
print('Response body:');
print(sbJson.getAsString());
return;
}
final json = CkJsonObject();
json.loadSb(sbJson);
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
var i = 0;
var id = '';
var dateModified = '';
var vModule = '';
final nextOffset = json.intOf('next_offset');
i = 0;
final countI = json.sizeOfArray('records');
while (i < countI) {
json.i = i;
id = json.stringOf('records[i].id');
dateModified = json.stringOf('records[i].date_modified');
vModule = json.stringOf('records[i]._module');
i++;
}
// 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"
// }
// ]
// }
print('Example Completed.');
}