Sample code for 30+ languages & platforms
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

Perl
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;
}