Lua
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
http.login = "api_username"
http.password = "api_key"
http.basic_auth = true
local sbResponseBody = chilkat.StringBuilder.new()
local success = http:quick_get_sb("https://my-shopware-shop.com/api/articles?limit=2", sbResponseBody)
if not success then
print(http.last_error_text)
return
end
local jResp = chilkat.JsonObject.new()
jResp:load_sb(sbResponseBody)
jResp.emit_compact = 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
local id = 0
local mainDetailId = 0
local supplierId = 0
local taxId = 0
local priceGroupId = 0
local filterGroupId = ""
local configuratorSetId = ""
local name = ""
local description = ""
local descriptionLong = ""
local added = ""
local active = false
local pseudoSales = 0
local highlight = false
local keywords = ""
local metaTitle = ""
local changed = ""
local priceGroupActive = false
local lastStock = false
local crossBundleLook = 0
local notification = false
local template = ""
local mode = 0
local availableFrom = ""
local availableTo = ""
local mainDetailArticleId = 0
local mainDetailUnitId = 0
local mainDetailNumber = ""
local mainDetailSupplierNumber = ""
local mainDetailKind = 0
local mainDetailAdditionalText = ""
local mainDetailActive = false
local mainDetailInStock = 0
local mainDetailStockMin = ""
local mainDetailLastStock = false
local mainDetailWeight = ""
local mainDetailWidth = ""
local mainDetailLen = ""
local mainDetailHeight = ""
local mainDetailEan = ""
local mainDetailPurchasePrice = ""
local mainDetailPosition = 0
local mainDetailMinPurchase = 0
local mainDetailPurchaseSteps = 0
local mainDetailMaxPurchase = 0
local mainDetailPurchaseUnit = ""
local mainDetailReferenceUnit = ""
local mainDetailPackUnit = ""
local mainDetailShippingFree = false
local mainDetailReleaseDate = ""
local mainDetailShippingTime = ""
local mainDetailAttributeId = 0
local mainDetailAttributeArticleDetailId = 0
local mainDetailAttributeAttr1 = ""
local mainDetailAttributeAttr2 = ""
local mainDetailAttributeAttr3 = ""
local mainDetailAttributeAttr4 = ""
local mainDetailAttributeAttr5 = ""
local mainDetailAttributeAttr6 = ""
local mainDetailAttributeAttr7 = ""
local mainDetailAttributeAttr8 = ""
local mainDetailAttributeAttr9 = ""
local mainDetailAttributeAttr10 = ""
local mainDetailAttributeAttr11 = ""
local mainDetailAttributeAttr12 = ""
local mainDetailAttributeAttr13 = ""
local mainDetailAttributeAttr14 = ""
local mainDetailAttributeAttr15 = ""
local mainDetailAttributeAttr16 = ""
local mainDetailAttributeAttr17 = ""
local mainDetailAttributeAttr18 = ""
local mainDetailAttributeAttr19 = ""
local mainDetailAttributeAttr20 = ""
local mainDetailAttributeApostroph = ""
local total = jResp:int_of("total")
success = jResp:bool_of("success")
local i = 0
local count_i = jResp:size_of_array("data")
while i < count_i do
jResp.i = i
id = jResp:int_of("data[i].id")
mainDetailId = jResp:int_of("data[i].mainDetailId")
supplierId = jResp:int_of("data[i].supplierId")
taxId = jResp:int_of("data[i].taxId")
priceGroupId = jResp:int_of("data[i].priceGroupId")
filterGroupId = jResp:string_of("data[i].filterGroupId")
configuratorSetId = jResp:string_of("data[i].configuratorSetId")
name = jResp:string_of("data[i].name")
description = jResp:string_of("data[i].description")
descriptionLong = jResp:string_of("data[i].descriptionLong")
added = jResp:string_of("data[i].added")
active = jResp:bool_of("data[i].active")
pseudoSales = jResp:int_of("data[i].pseudoSales")
highlight = jResp:bool_of("data[i].highlight")
keywords = jResp:string_of("data[i].keywords")
metaTitle = jResp:string_of("data[i].metaTitle")
changed = jResp:string_of("data[i].changed")
priceGroupActive = jResp:bool_of("data[i].priceGroupActive")
lastStock = jResp:bool_of("data[i].lastStock")
crossBundleLook = jResp:int_of("data[i].crossBundleLook")
notification = jResp:bool_of("data[i].notification")
template = jResp:string_of("data[i].template")
mode = jResp:int_of("data[i].mode")
availableFrom = jResp:string_of("data[i].availableFrom")
availableTo = jResp:string_of("data[i].availableTo")
mainDetailId = jResp:int_of("data[i].mainDetail.id")
mainDetailArticleId = jResp:int_of("data[i].mainDetail.articleId")
mainDetailUnitId = jResp:int_of("data[i].mainDetail.unitId")
mainDetailNumber = jResp:string_of("data[i].mainDetail.number")
mainDetailSupplierNumber = jResp:string_of("data[i].mainDetail.supplierNumber")
mainDetailKind = jResp:int_of("data[i].mainDetail.kind")
mainDetailAdditionalText = jResp:string_of("data[i].mainDetail.additionalText")
mainDetailActive = jResp:bool_of("data[i].mainDetail.active")
mainDetailInStock = jResp:int_of("data[i].mainDetail.inStock")
mainDetailStockMin = jResp:string_of("data[i].mainDetail.stockMin")
mainDetailLastStock = jResp:bool_of("data[i].mainDetail.lastStock")
mainDetailWeight = jResp:string_of("data[i].mainDetail.weight")
mainDetailWidth = jResp:string_of("data[i].mainDetail.width")
mainDetailLen = jResp:string_of("data[i].mainDetail.len")
mainDetailHeight = jResp:string_of("data[i].mainDetail.height")
mainDetailEan = jResp:string_of("data[i].mainDetail.ean")
mainDetailPurchasePrice = jResp:string_of("data[i].mainDetail.purchasePrice")
mainDetailPosition = jResp:int_of("data[i].mainDetail.position")
mainDetailMinPurchase = jResp:int_of("data[i].mainDetail.minPurchase")
mainDetailPurchaseSteps = jResp:int_of("data[i].mainDetail.purchaseSteps")
mainDetailMaxPurchase = jResp:int_of("data[i].mainDetail.maxPurchase")
mainDetailPurchaseUnit = jResp:string_of("data[i].mainDetail.purchaseUnit")
mainDetailReferenceUnit = jResp:string_of("data[i].mainDetail.referenceUnit")
mainDetailPackUnit = jResp:string_of("data[i].mainDetail.packUnit")
mainDetailShippingFree = jResp:bool_of("data[i].mainDetail.shippingFree")
mainDetailReleaseDate = jResp:string_of("data[i].mainDetail.releaseDate")
mainDetailShippingTime = jResp:string_of("data[i].mainDetail.shippingTime")
mainDetailAttributeId = jResp:int_of("data[i].mainDetail.attribute.id")
mainDetailAttributeArticleDetailId = jResp:int_of("data[i].mainDetail.attribute.articleDetailId")
mainDetailAttributeAttr1 = jResp:string_of("data[i].mainDetail.attribute.attr1")
mainDetailAttributeAttr2 = jResp:string_of("data[i].mainDetail.attribute.attr2")
mainDetailAttributeAttr3 = jResp:string_of("data[i].mainDetail.attribute.attr3")
mainDetailAttributeAttr4 = jResp:string_of("data[i].mainDetail.attribute.attr4")
mainDetailAttributeAttr5 = jResp:string_of("data[i].mainDetail.attribute.attr5")
mainDetailAttributeAttr6 = jResp:string_of("data[i].mainDetail.attribute.attr6")
mainDetailAttributeAttr7 = jResp:string_of("data[i].mainDetail.attribute.attr7")
mainDetailAttributeAttr8 = jResp:string_of("data[i].mainDetail.attribute.attr8")
mainDetailAttributeAttr9 = jResp:string_of("data[i].mainDetail.attribute.attr9")
mainDetailAttributeAttr10 = jResp:string_of("data[i].mainDetail.attribute.attr10")
mainDetailAttributeAttr11 = jResp:string_of("data[i].mainDetail.attribute.attr11")
mainDetailAttributeAttr12 = jResp:string_of("data[i].mainDetail.attribute.attr12")
mainDetailAttributeAttr13 = jResp:string_of("data[i].mainDetail.attribute.attr13")
mainDetailAttributeAttr14 = jResp:string_of("data[i].mainDetail.attribute.attr14")
mainDetailAttributeAttr15 = jResp:string_of("data[i].mainDetail.attribute.attr15")
mainDetailAttributeAttr16 = jResp:string_of("data[i].mainDetail.attribute.attr16")
mainDetailAttributeAttr17 = jResp:string_of("data[i].mainDetail.attribute.attr17")
mainDetailAttributeAttr18 = jResp:string_of("data[i].mainDetail.attribute.attr18")
mainDetailAttributeAttr19 = jResp:string_of("data[i].mainDetail.attribute.attr19")
mainDetailAttributeAttr20 = jResp:string_of("data[i].mainDetail.attribute.attr20")
mainDetailAttributeApostroph = jResp:string_of("data[i].mainDetail.attribute.apostroph")
i = i + 1
end