Objective-C
Objective-C
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 Objective-C Downloads
#import <CkoHttp.h>
#import <CkoStringBuilder.h>
#import <CkoJsonObject.h>
#import <NSString.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
http.Login = @"api_username";
http.Password = @"api_key";
http.BasicAuth = YES;
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [http QuickGetSb: @"https://my-shopware-shop.com/api/articles?limit=2" sbContent: sbResponseBody];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[jResp LoadSb: sbResponseBody];
jResp.EmitCompact = NO;
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[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
int id;
int mainDetailId;
int supplierId;
int taxId;
int priceGroupId;
NSString *filterGroupId = 0;
NSString *configuratorSetId = 0;
NSString *name = 0;
NSString *description = 0;
NSString *descriptionLong = 0;
NSString *added = 0;
BOOL active;
int pseudoSales;
BOOL highlight;
NSString *keywords = 0;
NSString *metaTitle = 0;
NSString *changed = 0;
BOOL priceGroupActive;
BOOL lastStock;
int crossBundleLook;
BOOL notification;
NSString *template = 0;
int mode;
NSString *availableFrom = 0;
NSString *availableTo = 0;
int mainDetailArticleId;
int mainDetailUnitId;
NSString *mainDetailNumber = 0;
NSString *mainDetailSupplierNumber = 0;
int mainDetailKind;
NSString *mainDetailAdditionalText = 0;
BOOL mainDetailActive;
int mainDetailInStock;
NSString *mainDetailStockMin = 0;
BOOL mainDetailLastStock;
NSString *mainDetailWeight = 0;
NSString *mainDetailWidth = 0;
NSString *mainDetailLen = 0;
NSString *mainDetailHeight = 0;
NSString *mainDetailEan = 0;
NSString *mainDetailPurchasePrice = 0;
int mainDetailPosition;
int mainDetailMinPurchase;
int mainDetailPurchaseSteps;
int mainDetailMaxPurchase;
NSString *mainDetailPurchaseUnit = 0;
NSString *mainDetailReferenceUnit = 0;
NSString *mainDetailPackUnit = 0;
BOOL mainDetailShippingFree;
NSString *mainDetailReleaseDate = 0;
NSString *mainDetailShippingTime = 0;
int mainDetailAttributeId;
int mainDetailAttributeArticleDetailId;
NSString *mainDetailAttributeAttr1 = 0;
NSString *mainDetailAttributeAttr2 = 0;
NSString *mainDetailAttributeAttr3 = 0;
NSString *mainDetailAttributeAttr4 = 0;
NSString *mainDetailAttributeAttr5 = 0;
NSString *mainDetailAttributeAttr6 = 0;
NSString *mainDetailAttributeAttr7 = 0;
NSString *mainDetailAttributeAttr8 = 0;
NSString *mainDetailAttributeAttr9 = 0;
NSString *mainDetailAttributeAttr10 = 0;
NSString *mainDetailAttributeAttr11 = 0;
NSString *mainDetailAttributeAttr12 = 0;
NSString *mainDetailAttributeAttr13 = 0;
NSString *mainDetailAttributeAttr14 = 0;
NSString *mainDetailAttributeAttr15 = 0;
NSString *mainDetailAttributeAttr16 = 0;
NSString *mainDetailAttributeAttr17 = 0;
NSString *mainDetailAttributeAttr18 = 0;
NSString *mainDetailAttributeAttr19 = 0;
NSString *mainDetailAttributeAttr20 = 0;
NSString *mainDetailAttributeApostroph = 0;
int total = [[jResp IntOf: @"total"] intValue];
success = [jResp BoolOf: @"success"];
int i = 0;
int count_i = [[jResp SizeOfArray: @"data"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
id = [[jResp IntOf: @"data[i].id"] intValue];
mainDetailId = [[jResp IntOf: @"data[i].mainDetailId"] intValue];
supplierId = [[jResp IntOf: @"data[i].supplierId"] intValue];
taxId = [[jResp IntOf: @"data[i].taxId"] intValue];
priceGroupId = [[jResp IntOf: @"data[i].priceGroupId"] intValue];
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"] intValue];
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"] intValue];
notification = [jResp BoolOf: @"data[i].notification"];
template = [jResp StringOf: @"data[i].template"];
mode = [[jResp IntOf: @"data[i].mode"] intValue];
availableFrom = [jResp StringOf: @"data[i].availableFrom"];
availableTo = [jResp StringOf: @"data[i].availableTo"];
mainDetailId = [[jResp IntOf: @"data[i].mainDetail.id"] intValue];
mainDetailArticleId = [[jResp IntOf: @"data[i].mainDetail.articleId"] intValue];
mainDetailUnitId = [[jResp IntOf: @"data[i].mainDetail.unitId"] intValue];
mainDetailNumber = [jResp StringOf: @"data[i].mainDetail.number"];
mainDetailSupplierNumber = [jResp StringOf: @"data[i].mainDetail.supplierNumber"];
mainDetailKind = [[jResp IntOf: @"data[i].mainDetail.kind"] intValue];
mainDetailAdditionalText = [jResp StringOf: @"data[i].mainDetail.additionalText"];
mainDetailActive = [jResp BoolOf: @"data[i].mainDetail.active"];
mainDetailInStock = [[jResp IntOf: @"data[i].mainDetail.inStock"] intValue];
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"] intValue];
mainDetailMinPurchase = [[jResp IntOf: @"data[i].mainDetail.minPurchase"] intValue];
mainDetailPurchaseSteps = [[jResp IntOf: @"data[i].mainDetail.purchaseSteps"] intValue];
mainDetailMaxPurchase = [[jResp IntOf: @"data[i].mainDetail.maxPurchase"] intValue];
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"] intValue];
mainDetailAttributeArticleDetailId = [[jResp IntOf: @"data[i].mainDetail.attribute.articleDetailId"] intValue];
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;
}