Sample code for 30+ languages & platforms
Dart

SMSAPI - List Contacts

See more SMSAPI Examples

List Contacts

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = CkHttp();

  // Implements the following CURL command:

  // curl -X GET -H "Authorization: Bearer token_api_oauth" https://api.smsapi.com/contacts?phone_number=48500000000

  // Use the following online tool to generate HTTP code from a CURL command
  // Convert a cURL Command to HTTP Source Code

  // Adds the "Authorization: Bearer token_api_oauth" header.
  http.authToken = 'token_api_oauth';

  final sbResponseBody = CkStringBuilder();
  try {
    http.quickGetSb('https://api.smsapi.com/contacts?phone_number=48500000000', sbResponseBody);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = http.lastStatus;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(http.lastHeader);
    print('Failed.');
    return;
  }

  // Sample JSON response:
  // (Sample code for parsing the JSON response is shown below)

  // {
  //   "size": 1,
  //   "collection": [
  //     {
  //       "id": "5b83ba81a788494a0469490f",
  //       "first_name": "name",
  //       "last_name": "surname",
  //       "phone_number": "48500000000",
  //       "email": "bok@smsapi.com",
  //       "gender": "male",
  //       "city": "City",
  //       "country": "Poland",
  //       "source": "source",
  //       "date_created": "2018-08-27T10:46:57+02:00",
  //       "date_updated": "2018-08-27T10:46:57+02:00",
  //       "groups": [
  //         {
  //           "id": "59a3ca1fa78849062837cd0c",
  //           "name": "default",
  //           "date_created": "2017-08-28T09:45:35+02:00",
  //           "date_updated": "2017-08-28T09:45:35+02:00",
  //           "description": "",
  //           "created_by": "login",
  //           "idx": null,
  //           "contact_expire_after": null,
  //           "contacts_count": null
  //         }
  //       ]
  //     }
  //   ]
  // }

  // Sample code for parsing the JSON response...
  // Use the following online tool to generate parsing code from sample JSON:
  // Generate Parsing Code from JSON

  final dateCreated = CkDtObj();
  final dateUpdated = CkDtObj();
  var id = '';
  var firstName = '';
  var lastName = '';
  var phoneNumber = '';
  var email = '';
  var gender = '';
  var city = '';
  var country = '';
  var source = '';
  var j = 0;
  var countJ = 0;
  var name = '';
  var description = '';
  var createdBy = '';
  var idx = '';
  var contactExpireAfter = '';
  var contactsCount = '';

  final size = jResp.intOf('size');
  var i = 0;
  final countI = jResp.sizeOfArray('collection');
  while (i < countI) {
    jResp.i = i;
    id = jResp.stringOf('collection[i].id');
    firstName = jResp.stringOf('collection[i].first_name');
    lastName = jResp.stringOf('collection[i].last_name');
    phoneNumber = jResp.stringOf('collection[i].phone_number');
    email = jResp.stringOf('collection[i].email');
    gender = jResp.stringOf('collection[i].gender');
    city = jResp.stringOf('collection[i].city');
    country = jResp.stringOf('collection[i].country');
    source = jResp.stringOf('collection[i].source');
    jResp.dtOf('collection[i].date_created', false, dateCreated);
    jResp.dtOf('collection[i].date_updated', false, dateUpdated);
    j = 0;
    countJ = jResp.sizeOfArray('collection[i].groups');
    while (j < countJ) {
      jResp.j = j;
      id = jResp.stringOf('collection[i].groups[j].id');
      name = jResp.stringOf('collection[i].groups[j].name');
      jResp.dtOf('collection[i].groups[j].date_created', false, dateCreated);
      jResp.dtOf('collection[i].groups[j].date_updated', false, dateUpdated);
      description = jResp.stringOf('collection[i].groups[j].description');
      createdBy = jResp.stringOf('collection[i].groups[j].created_by');
      idx = jResp.stringOf('collection[i].groups[j].idx');
      contactExpireAfter = jResp.stringOf('collection[i].groups[j].contact_expire_after');
      contactsCount = jResp.stringOf('collection[i].groups[j].contacts_count');
      j++;
    }

    i++;
  }
}