Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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/
#include <CkHttp.h> #include <CkStringBuilder.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; http.put_Login("api_username"); http.put_Password("api_key"); http.put_BasicAuth(true); CkStringBuilder sbResponseBody; bool success = http.QuickGetSb("https://my-shopware-shop.com/api/articles?limit=2",sbResponseBody); if (success == false) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkJsonObject jResp; jResp.LoadSb(sbResponseBody); jResp.put_EmitCompact(false); strOut.append("Response Body:"); strOut.append("\r\n"); strOut.append(jResp.emit()); strOut.append("\r\n"); // 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 // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat. // See this example explaining how this memory should be used: const char * functions. int id; int mainDetailId; int supplierId; int taxId; int priceGroupId; const char *filterGroupId = 0; const char *configuratorSetId = 0; const char *name = 0; const char *description = 0; const char *descriptionLong = 0; const char *added = 0; bool active; int pseudoSales; bool highlight; const char *keywords = 0; const char *metaTitle = 0; const char *changed = 0; bool priceGroupActive; bool lastStock; int crossBundleLook; bool notification; const char *template = 0; int mode; const char *availableFrom = 0; const char *availableTo = 0; int mainDetailArticleId; int mainDetailUnitId; const char *mainDetailNumber = 0; const char *mainDetailSupplierNumber = 0; int mainDetailKind; const char *mainDetailAdditionalText = 0; bool mainDetailActive; int mainDetailInStock; const char *mainDetailStockMin = 0; bool mainDetailLastStock; const char *mainDetailWeight = 0; const char *mainDetailWidth = 0; const char *mainDetailLen = 0; const char *mainDetailHeight = 0; const char *mainDetailEan = 0; const char *mainDetailPurchasePrice = 0; int mainDetailPosition; int mainDetailMinPurchase; int mainDetailPurchaseSteps; int mainDetailMaxPurchase; const char *mainDetailPurchaseUnit = 0; const char *mainDetailReferenceUnit = 0; const char *mainDetailPackUnit = 0; bool mainDetailShippingFree; const char *mainDetailReleaseDate = 0; const char *mainDetailShippingTime = 0; int mainDetailAttributeId; int mainDetailAttributeArticleDetailId; const char *mainDetailAttributeAttr1 = 0; const char *mainDetailAttributeAttr2 = 0; const char *mainDetailAttributeAttr3 = 0; const char *mainDetailAttributeAttr4 = 0; const char *mainDetailAttributeAttr5 = 0; const char *mainDetailAttributeAttr6 = 0; const char *mainDetailAttributeAttr7 = 0; const char *mainDetailAttributeAttr8 = 0; const char *mainDetailAttributeAttr9 = 0; const char *mainDetailAttributeAttr10 = 0; const char *mainDetailAttributeAttr11 = 0; const char *mainDetailAttributeAttr12 = 0; const char *mainDetailAttributeAttr13 = 0; const char *mainDetailAttributeAttr14 = 0; const char *mainDetailAttributeAttr15 = 0; const char *mainDetailAttributeAttr16 = 0; const char *mainDetailAttributeAttr17 = 0; const char *mainDetailAttributeAttr18 = 0; const char *mainDetailAttributeAttr19 = 0; const char *mainDetailAttributeAttr20 = 0; const char *mainDetailAttributeApostroph = 0; int total = jResp.IntOf("total"); bool success = jResp.BoolOf("success"); int i = 0; int count_i = jResp.SizeOfArray("data"); while (i < count_i) { jResp.put_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; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.