Sample code for 30+ languages & platforms
Objective-C

Etsy: Get the Inventory for a Listing

See more Etsy Examples

Gets the inventory for a listing.

Chilkat Objective-C Downloads

Objective-C
#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];

// Implements the following CURL command:

// curl -X GET \
//   https://openapi.etsy.com/v2/listings/listing_id/inventory?api_key=MY_ETSY_KEYSTRING

CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [http QuickGetSb: @"https://openapi.etsy.com/v2/listings/listing_id/inventory?api_key=MY_ETSY_KEYSTRING" 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]);

int respStatusCode = [http.LastStatus intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode >= 400) {
    NSLog(@"%@",@"Response Header:");
    NSLog(@"%@",http.LastHeader);
    NSLog(@"%@",@"Failed.");
    return;
}

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "count": 1,
//   "results": {
//     "products": [
//       {
//         "product_id": 3361120103,
//         "property_values": [
//         ],
//         "offerings": [
//           {
//             "offering_id": 3579642570,
//             "price": {
//               "amount": 16000,
//               "divisor": 100,
//               "currency_code": "USD",
//               "currency_formatted_short": "$160.00",
//               "currency_formatted_long": "$160.00 USD",
//               "currency_formatted_raw": "160.00"
//             },
//             "quantity": 1
//           }
//         ]
//       }
//     ]
//   },
//   "params": {
//     "listing_id": "720138253",
//     "write_missing_inventory": false
//   },
//   "type": "ListingInventory",
//   "pagination": {}
// }

// 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 product_id;
int j;
int count_j;
int offering_id;
int priceAmount;
int priceDivisor;
NSString *priceCurrency_code = 0;
NSString *priceCurrency_formatted_short = 0;
NSString *priceCurrency_formatted_long = 0;
NSString *priceCurrency_formatted_raw = 0;
int quantity;

int count = [[jResp IntOf: @"count"] intValue];
NSString *paramsListing_id = [jResp StringOf: @"params.listing_id"];
BOOL paramsWrite_missing_inventory = [jResp BoolOf: @"params.write_missing_inventory"];
NSString *v_type = [jResp StringOf: @"type"];
int i = 0;
int count_i = [[jResp SizeOfArray: @"results.products"] intValue];
while (i < count_i) {
    jResp.I = [NSNumber numberWithInt: i];
    product_id = [[jResp IntOf: @"results.products[i].product_id"] intValue];
    j = 0;
    count_j = [[jResp SizeOfArray: @"results.products[i].property_values"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        j = j + 1;
    }

    j = 0;
    count_j = [[jResp SizeOfArray: @"results.products[i].offerings"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        offering_id = [[jResp IntOf: @"results.products[i].offerings[j].offering_id"] intValue];
        priceAmount = [[jResp IntOf: @"results.products[i].offerings[j].price.amount"] intValue];
        priceDivisor = [[jResp IntOf: @"results.products[i].offerings[j].price.divisor"] intValue];
        priceCurrency_code = [jResp StringOf: @"results.products[i].offerings[j].price.currency_code"];
        priceCurrency_formatted_short = [jResp StringOf: @"results.products[i].offerings[j].price.currency_formatted_short"];
        priceCurrency_formatted_long = [jResp StringOf: @"results.products[i].offerings[j].price.currency_formatted_long"];
        priceCurrency_formatted_raw = [jResp StringOf: @"results.products[i].offerings[j].price.currency_formatted_raw"];
        quantity = [[jResp IntOf: @"results.products[i].offerings[j].quantity"] intValue];
        j = j + 1;
    }

    i = i + 1;
}