Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = chilkat::CkHttp->new();
$http->put_Login("api_username");
$http->put_Password("api_key");
$http->put_BasicAuth(1);
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $http->QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",$sbResponseBody);
if ($success == 0) {
print $http->lastErrorText() . "\r\n";
exit;
}
$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);
print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";
# 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
$total = $jResp->IntOf("total");
$success = $jResp->BoolOf("success");
$i = 0;
$count_i = $jResp->SizeOfArray("data");
while ($i < $count_i) {
$jResp->put_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;
}