Dart
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
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++;
}
}