Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) Shopware List ArticlesSee more Shopware ExamplesThis 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. For more information, see https://developers.shopware.com/developers-guide/rest-api/examples/article/
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; sbResponseBody: TChilkatStringBuilder; success: Integer; jResp: TChilkatJsonObject; id: Integer; mainDetailId: Integer; supplierId: Integer; taxId: Integer; priceGroupId: Integer; filterGroupId: WideString; configuratorSetId: WideString; name: WideString; description: WideString; descriptionLong: WideString; added: WideString; active: Integer; pseudoSales: Integer; highlight: Integer; keywords: WideString; metaTitle: WideString; changed: WideString; priceGroupActive: Integer; lastStock: Integer; crossBundleLook: Integer; notification: Integer; template: WideString; mode: Integer; availableFrom: WideString; availableTo: WideString; mainDetailArticleId: Integer; mainDetailUnitId: Integer; mainDetailNumber: WideString; mainDetailSupplierNumber: WideString; mainDetailKind: Integer; mainDetailAdditionalText: WideString; mainDetailActive: Integer; mainDetailInStock: Integer; mainDetailStockMin: WideString; mainDetailLastStock: Integer; mainDetailWeight: WideString; mainDetailWidth: WideString; mainDetailLen: WideString; mainDetailHeight: WideString; mainDetailEan: WideString; mainDetailPurchasePrice: WideString; mainDetailPosition: Integer; mainDetailMinPurchase: Integer; mainDetailPurchaseSteps: Integer; mainDetailMaxPurchase: Integer; mainDetailPurchaseUnit: WideString; mainDetailReferenceUnit: WideString; mainDetailPackUnit: WideString; mainDetailShippingFree: Integer; mainDetailReleaseDate: WideString; mainDetailShippingTime: WideString; mainDetailAttributeId: Integer; mainDetailAttributeArticleDetailId: Integer; mainDetailAttributeAttr1: WideString; mainDetailAttributeAttr2: WideString; mainDetailAttributeAttr3: WideString; mainDetailAttributeAttr4: WideString; mainDetailAttributeAttr5: WideString; mainDetailAttributeAttr6: WideString; mainDetailAttributeAttr7: WideString; mainDetailAttributeAttr8: WideString; mainDetailAttributeAttr9: WideString; mainDetailAttributeAttr10: WideString; mainDetailAttributeAttr11: WideString; mainDetailAttributeAttr12: WideString; mainDetailAttributeAttr13: WideString; mainDetailAttributeAttr14: WideString; mainDetailAttributeAttr15: WideString; mainDetailAttributeAttr16: WideString; mainDetailAttributeAttr17: WideString; mainDetailAttributeAttr18: WideString; mainDetailAttributeAttr19: WideString; mainDetailAttributeAttr20: WideString; mainDetailAttributeApostroph: WideString; total: Integer; success: Integer; i: Integer; count_i: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); http.Login := 'api_username'; http.Password := 'api_key'; http.BasicAuth := 1; sbResponseBody := TChilkatStringBuilder.Create(Self); success := http.QuickGetSb('https://my-shopware-shop.com/api/articles?limit=2',sbResponseBody.ControlInterface); if (success = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; jResp := TChilkatJsonObject.Create(Self); jResp.LoadSb(sbResponseBody.ControlInterface); jResp.EmitCompact := 0; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(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 total := jResp.IntOf('total'); success := jResp.BoolOf('success'); i := 0; count_i := jResp.SizeOfArray('data'); while i < count_i do begin 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; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.