Sample code for 30+ languages & platforms
Dart

Shopware List Articles

See more Shopware Examples

This example shows you how to obtain information about a Shopware product list. With the optional limit parameter, it's possible to specify how many products you wish the API call to return.

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();

  http.login = 'api_username';
  http.password = 'api_key';
  http.basicAuth = true;

  final sbResponseBody = CkStringBuilder();
  try {
    http.quickGetSb('https://my-shopware-shop.com/api/articles?limit=2', sbResponseBody);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

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

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

  // {
  //   "data": [
  //     {
  //       "id": 8283,
  //       "mainDetailId": 11398,
  //       "supplierId": 28,
  //       "taxId": 1,
  //       "priceGroupId": 1,
  //       "filterGroupId": null,
  //       "configuratorSetId": null,
  //       "name": "TERRA PC-GAMER 8000 iQ9650 VU - \u00e5\u00a0  \u00c7  Produktmer",
  //       "description": "TERRA PC-GAMER 8000 iQ9650 VU - \u00e5\u00a0  \u00c7  Produktmer",
  //       "descriptionLong": "...",
  //       "added": "2000-01-01T00:00:00+0100",
  //       "active": true,
  //       "pseudoSales": 0,
  //       "highlight": false,
  //       "keywords": null,
  //       "metaTitle": "TERRA PC-GAMER 8000 iQ9650 VU - \u00e5\u00a0  \u00c7  Produktmer",
  //       "changed": "2021-02-21T18:20:39+0100",
  //       "priceGroupActive": false,
  //       "lastStock": false,
  //       "crossBundleLook": 0,
  //       "notification": true,
  //       "template": "",
  //       "mode": 0,
  //       "availableFrom": null,
  //       "availableTo": null,
  //       "mainDetail": {
  //         "id": 11398,
  //         "articleId": 8283,
  //         "unitId": 9,
  //         "number": "WT-1000104",
  //         "supplierNumber": "",
  //         "kind": 1,
  //         "additionalText": "",
  //         "active": true,
  //         "inStock": 28,
  //         "stockMin": null,
  //         "lastStock": false,
  //         "weight": "0.000",
  //         "width": null,
  //         "len": null,
  //         "height": null,
  //         "ean": "4039407005390",
  //         "purchasePrice": "0",
  //         "position": 1,
  //         "minPurchase": 1,
  //         "purchaseSteps": 0,
  //         "maxPurchase": 0,
  //         "purchaseUnit": "0.0000",
  //         "referenceUnit": "1.000",
  //         "packUnit": "Stk",
  //         "shippingFree": false,
  //         "releaseDate": null,
  //         "shippingTime": "20",
  //         "attribute": {
  //           "id": 11271,
  //           "articleDetailId": 11398,
  //           "attr1": null,
  //           "attr2": null,
  //           "attr3": null,
  //           "attr4": null,
  //           "attr5": null,
  //           "attr6": null,
  //           "attr7": null,
  //           "attr8": null,
  //           "attr9": null,
  //           "attr10": null,
  //           "attr11": "Attributfeld 11 deutsch",
  //           "attr12": null,
  //           "attr13": null,
  //           "attr14": "Wortmann - 80061",
  //           "attr15": null,
  //           "attr16": null,
  //           "attr17": "21.02.2021 18:36:46",
  //           "attr18": null,
  //           "attr19": "21.02.2021 18:36:46",
  //           "attr20": "0,00",
  //           "apostroph": ""
  //         }
  //       }
  //     },
  //     {
  //       "id": 8284,
  //       "mainDetailId": 11399,
  //       "supplierId": 28,
  //       "taxId": 1,
  //       "priceGroupId": 1,
  //       "filterGroupId": null,
  //       "configuratorSetId": null,
  //       "name": "TERRA PC-GAMER 9000 iE5420 VU\rProduktmer",
  //       "description": "TERRA PC-GAMER 9000 iE5420 VU\rProduktmer",
  //       "descriptionLong": "...",
  //       "added": "2000-01-01T00:00:00+0100",
  //       "active": true,
  //       "pseudoSales": 0,
  //       "highlight": false,
  //       "keywords": null,
  //       "metaTitle": "TERRA PC-GAMER 9000 iE5420 VU\rProduktmer",
  //       "changed": "2021-02-21T18:20:35+0100",
  //       "priceGroupActive": false,
  //       "lastStock": true,
  //       "crossBundleLook": 0,
  //       "notification": true,
  //       "template": "",
  //       "mode": 0,
  //       "availableFrom": null,
  //       "availableTo": null,
  //       "mainDetail": {
  //         "id": 11399,
  //         "articleId": 8284,
  //         "unitId": 9,
  //         "number": "WT-1000105",
  //         "supplierNumber": "",
  //         "kind": 1,
  //         "additionalText": "",
  //         "active": true,
  //         "inStock": 0,
  //         "stockMin": null,
  //         "lastStock": true,
  //         "weight": "0.000",
  //         "width": null,
  //         "len": null,
  //         "height": null,
  //         "ean": "4039407006137",
  //         "purchasePrice": "0",
  //         "position": 1,
  //         "minPurchase": 1,
  //         "purchaseSteps": 0,
  //         "maxPurchase": 0,
  //         "purchaseUnit": "0.0000",
  //         "referenceUnit": "1.000",
  //         "packUnit": "Stk",
  //         "shippingFree": false,
  //         "releaseDate": null,
  //         "shippingTime": "20",
  //         "attribute": {
  //           "id": 11272,
  //           "articleDetailId": 11399,
  //           "attr1": null,
  //           "attr2": null,
  //           "attr3": null,
  //           "attr4": null,
  //           "attr5": null,
  //           "attr6": null,
  //           "attr7": null,
  //           "attr8": null,
  //           "attr9": null,
  //           "attr10": null,
  //           "attr11": "Attributfeld 11 deutsch",
  //           "attr12": null,
  //           "attr13": null,
  //           "attr14": "Wortmann - 80061",
  //           "attr15": null,
  //           "attr16": null,
  //           "attr17": "21.02.2021 18:36:50",
  //           "attr18": null,
  //           "attr19": "21.02.2021 18:36:50",
  //           "attr20": "0,00",
  //           "apostroph": ""
  //         }
  //       }
  //     }
  //   ],
  //   "total": 9,
  //   "success": true
  // }

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

  var id = 0;
  var mainDetailId = 0;
  var supplierId = 0;
  var taxId = 0;
  var priceGroupId = 0;
  var filterGroupId = '';
  var configuratorSetId = '';
  var name = '';
  var description = '';
  var descriptionLong = '';
  var added = '';
  var pseudoSales = 0;
  var keywords = '';
  var metaTitle = '';
  var changed = '';
  var crossBundleLook = 0;
  var template = '';
  var mode = 0;
  var availableFrom = '';
  var availableTo = '';
  var mainDetailArticleId = 0;
  var mainDetailUnitId = 0;
  var mainDetailNumber = '';
  var mainDetailSupplierNumber = '';
  var mainDetailKind = 0;
  var mainDetailAdditionalText = '';
  var mainDetailInStock = 0;
  var mainDetailStockMin = '';
  var mainDetailWeight = '';
  var mainDetailWidth = '';
  var mainDetailLen = '';
  var mainDetailHeight = '';
  var mainDetailEan = '';
  var mainDetailPurchasePrice = '';
  var mainDetailPosition = 0;
  var mainDetailMinPurchase = 0;
  var mainDetailPurchaseSteps = 0;
  var mainDetailMaxPurchase = 0;
  var mainDetailPurchaseUnit = '';
  var mainDetailReferenceUnit = '';
  var mainDetailPackUnit = '';
  var mainDetailReleaseDate = '';
  var mainDetailShippingTime = '';
  var mainDetailAttributeId = 0;
  var mainDetailAttributeArticleDetailId = 0;
  var mainDetailAttributeAttr1 = '';
  var mainDetailAttributeAttr2 = '';
  var mainDetailAttributeAttr3 = '';
  var mainDetailAttributeAttr4 = '';
  var mainDetailAttributeAttr5 = '';
  var mainDetailAttributeAttr6 = '';
  var mainDetailAttributeAttr7 = '';
  var mainDetailAttributeAttr8 = '';
  var mainDetailAttributeAttr9 = '';
  var mainDetailAttributeAttr10 = '';
  var mainDetailAttributeAttr11 = '';
  var mainDetailAttributeAttr12 = '';
  var mainDetailAttributeAttr13 = '';
  var mainDetailAttributeAttr14 = '';
  var mainDetailAttributeAttr15 = '';
  var mainDetailAttributeAttr16 = '';
  var mainDetailAttributeAttr17 = '';
  var mainDetailAttributeAttr18 = '';
  var mainDetailAttributeAttr19 = '';
  var mainDetailAttributeAttr20 = '';
  var mainDetailAttributeApostroph = '';

  final total = jResp.intOf('total');
  jResp.boolOf('success');
  var i = 0;
  final countI = jResp.sizeOfArray('data');
  while (i < countI) {
    jResp.i = i;
    id = jResp.intOf('data[i].id');
    mainDetailId = jResp.intOf('data[i].mainDetailId');
    supplierId = jResp.intOf('data[i].supplierId');
    taxId = jResp.intOf('data[i].taxId');
    priceGroupId = jResp.intOf('data[i].priceGroupId');
    filterGroupId = jResp.stringOf('data[i].filterGroupId');
    configuratorSetId = jResp.stringOf('data[i].configuratorSetId');
    name = jResp.stringOf('data[i].name');
    description = jResp.stringOf('data[i].description');
    descriptionLong = jResp.stringOf('data[i].descriptionLong');
    added = jResp.stringOf('data[i].added');
    jResp.boolOf('data[i].active');
    pseudoSales = jResp.intOf('data[i].pseudoSales');
    jResp.boolOf('data[i].highlight');
    keywords = jResp.stringOf('data[i].keywords');
    metaTitle = jResp.stringOf('data[i].metaTitle');
    changed = jResp.stringOf('data[i].changed');
    jResp.boolOf('data[i].priceGroupActive');
    jResp.boolOf('data[i].lastStock');
    crossBundleLook = jResp.intOf('data[i].crossBundleLook');
    jResp.boolOf('data[i].notification');
    template = jResp.stringOf('data[i].template');
    mode = jResp.intOf('data[i].mode');
    availableFrom = jResp.stringOf('data[i].availableFrom');
    availableTo = jResp.stringOf('data[i].availableTo');
    mainDetailId = jResp.intOf('data[i].mainDetail.id');
    mainDetailArticleId = jResp.intOf('data[i].mainDetail.articleId');
    mainDetailUnitId = jResp.intOf('data[i].mainDetail.unitId');
    mainDetailNumber = jResp.stringOf('data[i].mainDetail.number');
    mainDetailSupplierNumber = jResp.stringOf('data[i].mainDetail.supplierNumber');
    mainDetailKind = jResp.intOf('data[i].mainDetail.kind');
    mainDetailAdditionalText = jResp.stringOf('data[i].mainDetail.additionalText');
    jResp.boolOf('data[i].mainDetail.active');
    mainDetailInStock = jResp.intOf('data[i].mainDetail.inStock');
    mainDetailStockMin = jResp.stringOf('data[i].mainDetail.stockMin');
    jResp.boolOf('data[i].mainDetail.lastStock');
    mainDetailWeight = jResp.stringOf('data[i].mainDetail.weight');
    mainDetailWidth = jResp.stringOf('data[i].mainDetail.width');
    mainDetailLen = jResp.stringOf('data[i].mainDetail.len');
    mainDetailHeight = jResp.stringOf('data[i].mainDetail.height');
    mainDetailEan = jResp.stringOf('data[i].mainDetail.ean');
    mainDetailPurchasePrice = jResp.stringOf('data[i].mainDetail.purchasePrice');
    mainDetailPosition = jResp.intOf('data[i].mainDetail.position');
    mainDetailMinPurchase = jResp.intOf('data[i].mainDetail.minPurchase');
    mainDetailPurchaseSteps = jResp.intOf('data[i].mainDetail.purchaseSteps');
    mainDetailMaxPurchase = jResp.intOf('data[i].mainDetail.maxPurchase');
    mainDetailPurchaseUnit = jResp.stringOf('data[i].mainDetail.purchaseUnit');
    mainDetailReferenceUnit = jResp.stringOf('data[i].mainDetail.referenceUnit');
    mainDetailPackUnit = jResp.stringOf('data[i].mainDetail.packUnit');
    jResp.boolOf('data[i].mainDetail.shippingFree');
    mainDetailReleaseDate = jResp.stringOf('data[i].mainDetail.releaseDate');
    mainDetailShippingTime = jResp.stringOf('data[i].mainDetail.shippingTime');
    mainDetailAttributeId = jResp.intOf('data[i].mainDetail.attribute.id');
    mainDetailAttributeArticleDetailId = jResp.intOf('data[i].mainDetail.attribute.articleDetailId');
    mainDetailAttributeAttr1 = jResp.stringOf('data[i].mainDetail.attribute.attr1');
    mainDetailAttributeAttr2 = jResp.stringOf('data[i].mainDetail.attribute.attr2');
    mainDetailAttributeAttr3 = jResp.stringOf('data[i].mainDetail.attribute.attr3');
    mainDetailAttributeAttr4 = jResp.stringOf('data[i].mainDetail.attribute.attr4');
    mainDetailAttributeAttr5 = jResp.stringOf('data[i].mainDetail.attribute.attr5');
    mainDetailAttributeAttr6 = jResp.stringOf('data[i].mainDetail.attribute.attr6');
    mainDetailAttributeAttr7 = jResp.stringOf('data[i].mainDetail.attribute.attr7');
    mainDetailAttributeAttr8 = jResp.stringOf('data[i].mainDetail.attribute.attr8');
    mainDetailAttributeAttr9 = jResp.stringOf('data[i].mainDetail.attribute.attr9');
    mainDetailAttributeAttr10 = jResp.stringOf('data[i].mainDetail.attribute.attr10');
    mainDetailAttributeAttr11 = jResp.stringOf('data[i].mainDetail.attribute.attr11');
    mainDetailAttributeAttr12 = jResp.stringOf('data[i].mainDetail.attribute.attr12');
    mainDetailAttributeAttr13 = jResp.stringOf('data[i].mainDetail.attribute.attr13');
    mainDetailAttributeAttr14 = jResp.stringOf('data[i].mainDetail.attribute.attr14');
    mainDetailAttributeAttr15 = jResp.stringOf('data[i].mainDetail.attribute.attr15');
    mainDetailAttributeAttr16 = jResp.stringOf('data[i].mainDetail.attribute.attr16');
    mainDetailAttributeAttr17 = jResp.stringOf('data[i].mainDetail.attribute.attr17');
    mainDetailAttributeAttr18 = jResp.stringOf('data[i].mainDetail.attribute.attr18');
    mainDetailAttributeAttr19 = jResp.stringOf('data[i].mainDetail.attribute.attr19');
    mainDetailAttributeAttr20 = jResp.stringOf('data[i].mainDetail.attribute.attr20');
    mainDetailAttributeApostroph = jResp.stringOf('data[i].mainDetail.attribute.apostroph');
    i++;
  }
}