Sample code for 30+ languages & platforms
JavaScript

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.
Note
This example is intended for running within a Chilkat.Js embedded JavaScript engine. All Chilkat JavaScript examples require Chilkat v11.4.0 or greater.
JavaScript
var success = false;

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

var http = new CkHttp();

http.Login = "api_username";
http.Password = "api_key";
http.BasicAuth = true;

var sbResponseBody = new CkStringBuilder();
success = http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",sbResponseBody);
if (success == false) {
    console.log(http.LastErrorText);
    return;
}

var jResp = new CkJsonObject();
jResp.LoadSb(sbResponseBody);
jResp.EmitCompact = false;

console.log("Response Body:");
console.log(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;
var mainDetailId;
var supplierId;
var taxId;
var priceGroupId;
var filterGroupId;
var configuratorSetId;
var name;
var description;
var descriptionLong;
var added;
var active;
var pseudoSales;
var highlight;
var keywords;
var metaTitle;
var changed;
var priceGroupActive;
var lastStock;
var crossBundleLook;
var notification;
var template;
var mode;
var availableFrom;
var availableTo;
var mainDetailArticleId;
var mainDetailUnitId;
var mainDetailNumber;
var mainDetailSupplierNumber;
var mainDetailKind;
var mainDetailAdditionalText;
var mainDetailActive;
var mainDetailInStock;
var mainDetailStockMin;
var mainDetailLastStock;
var mainDetailWeight;
var mainDetailWidth;
var mainDetailLen;
var mainDetailHeight;
var mainDetailEan;
var mainDetailPurchasePrice;
var mainDetailPosition;
var mainDetailMinPurchase;
var mainDetailPurchaseSteps;
var mainDetailMaxPurchase;
var mainDetailPurchaseUnit;
var mainDetailReferenceUnit;
var mainDetailPackUnit;
var mainDetailShippingFree;
var mainDetailReleaseDate;
var mainDetailShippingTime;
var mainDetailAttributeId;
var mainDetailAttributeArticleDetailId;
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;

var total = jResp.IntOf("total");
success = jResp.BoolOf("success");
var i = 0;
var count_i = jResp.SizeOfArray("data");
while (i < count_i) {
    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");
    active = jResp.BoolOf("data[i].active");
    pseudoSales = jResp.IntOf("data[i].pseudoSales");
    highlight = jResp.BoolOf("data[i].highlight");
    keywords = jResp.StringOf("data[i].keywords");
    metaTitle = jResp.StringOf("data[i].metaTitle");
    changed = jResp.StringOf("data[i].changed");
    priceGroupActive = jResp.BoolOf("data[i].priceGroupActive");
    lastStock = jResp.BoolOf("data[i].lastStock");
    crossBundleLook = jResp.IntOf("data[i].crossBundleLook");
    notification = 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");
    mainDetailActive = jResp.BoolOf("data[i].mainDetail.active");
    mainDetailInStock = jResp.IntOf("data[i].mainDetail.inStock");
    mainDetailStockMin = jResp.StringOf("data[i].mainDetail.stockMin");
    mainDetailLastStock = 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");
    mainDetailShippingFree = 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 = i+1;
}