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;
}