B4X
B4X
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 B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("http")
http.Login = "api_username"
http.Password = "api_key"
http.BasicAuth = True
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2", sbResponseBody)
If success = False Then
Log(http.LastErrorText)
Return
End If
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Log("Response Body:")
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
Dim id As Int
Dim mainDetailId As Int
Dim supplierId As Int
Dim taxId As Int
Dim priceGroupId As Int
Dim filterGroupId As String
Dim configuratorSetId As String
Dim name As String
Dim description As String
Dim descriptionLong As String
Dim added As String
Dim active As Boolean
Dim pseudoSales As Int
Dim highlight As Boolean
Dim keywords As String
Dim metaTitle As String
Dim changed As String
Dim priceGroupActive As Boolean
Dim lastStock As Boolean
Dim crossBundleLook As Int
Dim notification As Boolean
Dim template As String
Dim mode As Int
Dim availableFrom As String
Dim availableTo As String
Dim mainDetailArticleId As Int
Dim mainDetailUnitId As Int
Dim mainDetailNumber As String
Dim mainDetailSupplierNumber As String
Dim mainDetailKind As Int
Dim mainDetailAdditionalText As String
Dim mainDetailActive As Boolean
Dim mainDetailInStock As Int
Dim mainDetailStockMin As String
Dim mainDetailLastStock As Boolean
Dim mainDetailWeight As String
Dim mainDetailWidth As String
Dim mainDetailLen As String
Dim mainDetailHeight As String
Dim mainDetailEan As String
Dim mainDetailPurchasePrice As String
Dim mainDetailPosition As Int
Dim mainDetailMinPurchase As Int
Dim mainDetailPurchaseSteps As Int
Dim mainDetailMaxPurchase As Int
Dim mainDetailPurchaseUnit As String
Dim mainDetailReferenceUnit As String
Dim mainDetailPackUnit As String
Dim mainDetailShippingFree As Boolean
Dim mainDetailReleaseDate As String
Dim mainDetailShippingTime As String
Dim mainDetailAttributeId As Int
Dim mainDetailAttributeArticleDetailId As Int
Dim mainDetailAttributeAttr1 As String
Dim mainDetailAttributeAttr2 As String
Dim mainDetailAttributeAttr3 As String
Dim mainDetailAttributeAttr4 As String
Dim mainDetailAttributeAttr5 As String
Dim mainDetailAttributeAttr6 As String
Dim mainDetailAttributeAttr7 As String
Dim mainDetailAttributeAttr8 As String
Dim mainDetailAttributeAttr9 As String
Dim mainDetailAttributeAttr10 As String
Dim mainDetailAttributeAttr11 As String
Dim mainDetailAttributeAttr12 As String
Dim mainDetailAttributeAttr13 As String
Dim mainDetailAttributeAttr14 As String
Dim mainDetailAttributeAttr15 As String
Dim mainDetailAttributeAttr16 As String
Dim mainDetailAttributeAttr17 As String
Dim mainDetailAttributeAttr18 As String
Dim mainDetailAttributeAttr19 As String
Dim mainDetailAttributeAttr20 As String
Dim mainDetailAttributeApostroph As String
Dim total As Int = jResp.IntOf("total")
success = jResp.BoolOf("success")
Dim i As Int = 0
Dim count_i As Int = jResp.SizeOfArray("data")
Do 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
Loop