Sample code for 30+ languages & platforms
Dart

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat Dart Downloads

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

void main() {
  final rest = CkRest();

  rest.setAuthBasic('SHOPIFY_PRIVATE_API_KEY', 'SHOPIFY_PRIVATE_API_KEY');

  try {
    rest.connect('chilkat.myshopify.com', 443, true, true);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbJson = CkStringBuilder();
  try {
    rest.fullRequestNoBodySb('GET', '/admin/products.json?fields=id,images,title', 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 = 0;
  var title = '';
  var j = 0;
  var countJ = 0;
  var productId = 0;
  var position = 0;
  var createdAt = '';
  var updatedAt = '';
  var width = 0;
  var height = 0;
  var src = '';
  var k = 0;
  var countK = 0;
  var intVal = 0;

  i = 0;
  final countI = json.sizeOfArray('products');
  while (i < countI) {
    json.i = i;
    id = json.intOf('products[i].id');
    title = json.stringOf('products[i].title');
    j = 0;
    countJ = json.sizeOfArray('products[i].images');
    while (j < countJ) {
      json.j = j;
      id = json.intOf('products[i].images[j].id');
      productId = json.intOf('products[i].images[j].product_id');
      position = json.intOf('products[i].images[j].position');
      createdAt = json.stringOf('products[i].images[j].created_at');
      updatedAt = json.stringOf('products[i].images[j].updated_at');
      width = json.intOf('products[i].images[j].width');
      height = json.intOf('products[i].images[j].height');
      src = json.stringOf('products[i].images[j].src');
      k = 0;
      countK = json.sizeOfArray('products[i].images[j].variant_ids');
      while (k < countK) {
        json.k = k;
        intVal = json.intOf('products[i].images[j].variant_ids[k]');
        k++;
      }

      j++;
    }

    i++;
  }

  // A sample JSON response body that is parsed by the above code:

  // {
  //   "products": [
  //     {
  //       "id": 632910392,
  //       "title": "IPod Nano - 8GB",
  //       "images": [
  //         {
  //           "id": 850703190,
  //           "product_id": 632910392,
  //           "position": 1,
  //           "created_at": "2017-09-22T14:08:02-04:00",
  //           "updated_at": "2017-09-22T14:08:02-04:00",
  //           "width": 123,
  //           "height": 456,
  //           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano.png?v=1506103682",
  //           "variant_ids": [
  //           ]
  //         },
  //         {
  //           "id": 562641783,
  //           "product_id": 632910392,
  //           "position": 2,
  //           "created_at": "2017-09-22T14:08:02-04:00",
  //           "updated_at": "2017-09-22T14:08:02-04:00",
  //           "width": 123,
  //           "height": 456,
  //           "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano-2.png?v=1506103682",
  //           "variant_ids": [
  //             808950810
  //           ]
  //         }
  //       ]
  //     },
  //     {
  //       "id": 921728736,
  //       "title": "IPod Touch 8GB",
  //       "images": [
  //       ]
  //     }
  //   ]
  // }

  print('Example Completed.');
}