Xojo Plugin
Xojo Plugin
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 Xojo Plugin Downloads
Dim success As Boolean
success = False
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
http.Login = "api_username"
http.Password = "api_key"
http.BasicAuth = True
Dim sbResponseBody As New Chilkat.StringBuilder
success = http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",sbResponseBody)
If (success = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
System.DebugLog("Response Body:")
System.DebugLog(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 Int32
Dim mainDetailId As Int32
Dim supplierId As Int32
Dim taxId As Int32
Dim priceGroupId As Int32
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 Int32
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 Int32
Dim notification As Boolean
Dim template As String
Dim mode As Int32
Dim availableFrom As String
Dim availableTo As String
Dim mainDetailArticleId As Int32
Dim mainDetailUnitId As Int32
Dim mainDetailNumber As String
Dim mainDetailSupplierNumber As String
Dim mainDetailKind As Int32
Dim mainDetailAdditionalText As String
Dim mainDetailActive As Boolean
Dim mainDetailInStock As Int32
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 Int32
Dim mainDetailMinPurchase As Int32
Dim mainDetailPurchaseSteps As Int32
Dim mainDetailMaxPurchase As Int32
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 Int32
Dim mainDetailAttributeArticleDetailId As Int32
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 Int32
total = jResp.IntOf("total")
success = jResp.BoolOf("success")
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("data")
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
Wend