Sample code for 30+ languages & platforms
Dart

SugarCRM Filtering Records

See more SugarCRM Examples

Export records and filter.

Chilkat Dart Downloads

Dart
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.');
}