Ruby
Ruby
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 Ruby Downloads
require 'chilkat'
success = false
# 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(true)
sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",sbResponseBody)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)
jResp.put_EmitCompact(false)
print "Response Body:" + "\n";
print jResp.emit() + "\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
end