Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_Id
integer li_MainDetailId
integer li_SupplierId
integer li_TaxId
integer li_PriceGroupId
string ls_FilterGroupId
string ls_ConfiguratorSetId
string ls_Name
string ls_Description
string ls_DescriptionLong
string ls_Added
integer li_Active
integer li_PseudoSales
integer li_Highlight
string ls_Keywords
string ls_MetaTitle
string ls_Changed
integer li_PriceGroupActive
integer li_LastStock
integer li_CrossBundleLook
integer li_Notification
string ls_Template
integer li_Mode
string ls_AvailableFrom
string ls_AvailableTo
integer li_MainDetailArticleId
integer li_MainDetailUnitId
string ls_MainDetailNumber
string ls_MainDetailSupplierNumber
integer li_MainDetailKind
string ls_MainDetailAdditionalText
integer li_MainDetailActive
integer li_MainDetailInStock
string ls_MainDetailStockMin
integer li_MainDetailLastStock
string ls_MainDetailWeight
string ls_MainDetailWidth
string ls_MainDetailLen
string ls_MainDetailHeight
string ls_MainDetailEan
string ls_MainDetailPurchasePrice
integer li_MainDetailPosition
integer li_MainDetailMinPurchase
integer li_MainDetailPurchaseSteps
integer li_MainDetailMaxPurchase
string ls_MainDetailPurchaseUnit
string ls_MainDetailReferenceUnit
string ls_MainDetailPackUnit
integer li_MainDetailShippingFree
string ls_MainDetailReleaseDate
string ls_MainDetailShippingTime
integer li_MainDetailAttributeId
integer li_MainDetailAttributeArticleDetailId
string ls_MainDetailAttributeAttr1
string ls_MainDetailAttributeAttr2
string ls_MainDetailAttributeAttr3
string ls_MainDetailAttributeAttr4
string ls_MainDetailAttributeAttr5
string ls_MainDetailAttributeAttr6
string ls_MainDetailAttributeAttr7
string ls_MainDetailAttributeAttr8
string ls_MainDetailAttributeAttr9
string ls_MainDetailAttributeAttr10
string ls_MainDetailAttributeAttr11
string ls_MainDetailAttributeAttr12
string ls_MainDetailAttributeAttr13
string ls_MainDetailAttributeAttr14
string ls_MainDetailAttributeAttr15
string ls_MainDetailAttributeAttr16
string ls_MainDetailAttributeAttr17
string ls_MainDetailAttributeAttr18
string ls_MainDetailAttributeAttr19
string ls_MainDetailAttributeAttr20
string ls_MainDetailAttributeApostroph
integer li_Total
integer i
integer li_Count_i

li_Success = 0

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Http.Login = "api_username"
loo_Http.Password = "api_key"
loo_Http.BasicAuth = 1

loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_SbResponseBody
    return
end if

loo_JResp = create oleobject
li_rc = loo_JResp.ConnectToNewObject("Chilkat.JsonObject")

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_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

li_Total = loo_JResp.IntOf("total")
li_Success = loo_JResp.BoolOf("success")
i = 0
li_Count_i = loo_JResp.SizeOfArray("data")
do while i < li_Count_i
    loo_JResp.I = i
    li_Id = loo_JResp.IntOf("data[i].id")
    li_MainDetailId = loo_JResp.IntOf("data[i].mainDetailId")
    li_SupplierId = loo_JResp.IntOf("data[i].supplierId")
    li_TaxId = loo_JResp.IntOf("data[i].taxId")
    li_PriceGroupId = loo_JResp.IntOf("data[i].priceGroupId")
    ls_FilterGroupId = loo_JResp.StringOf("data[i].filterGroupId")
    ls_ConfiguratorSetId = loo_JResp.StringOf("data[i].configuratorSetId")
    ls_Name = loo_JResp.StringOf("data[i].name")
    ls_Description = loo_JResp.StringOf("data[i].description")
    ls_DescriptionLong = loo_JResp.StringOf("data[i].descriptionLong")
    ls_Added = loo_JResp.StringOf("data[i].added")
    li_Active = loo_JResp.BoolOf("data[i].active")
    li_PseudoSales = loo_JResp.IntOf("data[i].pseudoSales")
    li_Highlight = loo_JResp.BoolOf("data[i].highlight")
    ls_Keywords = loo_JResp.StringOf("data[i].keywords")
    ls_MetaTitle = loo_JResp.StringOf("data[i].metaTitle")
    ls_Changed = loo_JResp.StringOf("data[i].changed")
    li_PriceGroupActive = loo_JResp.BoolOf("data[i].priceGroupActive")
    li_LastStock = loo_JResp.BoolOf("data[i].lastStock")
    li_CrossBundleLook = loo_JResp.IntOf("data[i].crossBundleLook")
    li_Notification = loo_JResp.BoolOf("data[i].notification")
    ls_Template = loo_JResp.StringOf("data[i].template")
    li_Mode = loo_JResp.IntOf("data[i].mode")
    ls_AvailableFrom = loo_JResp.StringOf("data[i].availableFrom")
    ls_AvailableTo = loo_JResp.StringOf("data[i].availableTo")
    li_MainDetailId = loo_JResp.IntOf("data[i].mainDetail.id")
    li_MainDetailArticleId = loo_JResp.IntOf("data[i].mainDetail.articleId")
    li_MainDetailUnitId = loo_JResp.IntOf("data[i].mainDetail.unitId")
    ls_MainDetailNumber = loo_JResp.StringOf("data[i].mainDetail.number")
    ls_MainDetailSupplierNumber = loo_JResp.StringOf("data[i].mainDetail.supplierNumber")
    li_MainDetailKind = loo_JResp.IntOf("data[i].mainDetail.kind")
    ls_MainDetailAdditionalText = loo_JResp.StringOf("data[i].mainDetail.additionalText")
    li_MainDetailActive = loo_JResp.BoolOf("data[i].mainDetail.active")
    li_MainDetailInStock = loo_JResp.IntOf("data[i].mainDetail.inStock")
    ls_MainDetailStockMin = loo_JResp.StringOf("data[i].mainDetail.stockMin")
    li_MainDetailLastStock = loo_JResp.BoolOf("data[i].mainDetail.lastStock")
    ls_MainDetailWeight = loo_JResp.StringOf("data[i].mainDetail.weight")
    ls_MainDetailWidth = loo_JResp.StringOf("data[i].mainDetail.width")
    ls_MainDetailLen = loo_JResp.StringOf("data[i].mainDetail.len")
    ls_MainDetailHeight = loo_JResp.StringOf("data[i].mainDetail.height")
    ls_MainDetailEan = loo_JResp.StringOf("data[i].mainDetail.ean")
    ls_MainDetailPurchasePrice = loo_JResp.StringOf("data[i].mainDetail.purchasePrice")
    li_MainDetailPosition = loo_JResp.IntOf("data[i].mainDetail.position")
    li_MainDetailMinPurchase = loo_JResp.IntOf("data[i].mainDetail.minPurchase")
    li_MainDetailPurchaseSteps = loo_JResp.IntOf("data[i].mainDetail.purchaseSteps")
    li_MainDetailMaxPurchase = loo_JResp.IntOf("data[i].mainDetail.maxPurchase")
    ls_MainDetailPurchaseUnit = loo_JResp.StringOf("data[i].mainDetail.purchaseUnit")
    ls_MainDetailReferenceUnit = loo_JResp.StringOf("data[i].mainDetail.referenceUnit")
    ls_MainDetailPackUnit = loo_JResp.StringOf("data[i].mainDetail.packUnit")
    li_MainDetailShippingFree = loo_JResp.BoolOf("data[i].mainDetail.shippingFree")
    ls_MainDetailReleaseDate = loo_JResp.StringOf("data[i].mainDetail.releaseDate")
    ls_MainDetailShippingTime = loo_JResp.StringOf("data[i].mainDetail.shippingTime")
    li_MainDetailAttributeId = loo_JResp.IntOf("data[i].mainDetail.attribute.id")
    li_MainDetailAttributeArticleDetailId = loo_JResp.IntOf("data[i].mainDetail.attribute.articleDetailId")
    ls_MainDetailAttributeAttr1 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr1")
    ls_MainDetailAttributeAttr2 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr2")
    ls_MainDetailAttributeAttr3 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr3")
    ls_MainDetailAttributeAttr4 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr4")
    ls_MainDetailAttributeAttr5 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr5")
    ls_MainDetailAttributeAttr6 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr6")
    ls_MainDetailAttributeAttr7 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr7")
    ls_MainDetailAttributeAttr8 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr8")
    ls_MainDetailAttributeAttr9 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr9")
    ls_MainDetailAttributeAttr10 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr10")
    ls_MainDetailAttributeAttr11 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr11")
    ls_MainDetailAttributeAttr12 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr12")
    ls_MainDetailAttributeAttr13 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr13")
    ls_MainDetailAttributeAttr14 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr14")
    ls_MainDetailAttributeAttr15 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr15")
    ls_MainDetailAttributeAttr16 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr16")
    ls_MainDetailAttributeAttr17 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr17")
    ls_MainDetailAttributeAttr18 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr18")
    ls_MainDetailAttributeAttr19 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr19")
    ls_MainDetailAttributeAttr20 = loo_JResp.StringOf("data[i].mainDetail.attribute.attr20")
    ls_MainDetailAttributeApostroph = loo_JResp.StringOf("data[i].mainDetail.attribute.apostroph")
    i = i + 1
loop


destroy loo_Http
destroy loo_SbResponseBody
destroy loo_JResp