Sample code for 30+ languages & platforms
Xojo Plugin

Etsy: Get the Inventory for a Listing

See more Etsy Examples

Gets the inventory for a listing.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim http As New Chilkat.Http

// Implements the following CURL command:

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

Dim sbResponseBody As New Chilkat.StringBuilder
success = http.QuickGetSb("https://openapi.etsy.com/v2/listings/listing_id/inventory?api_key=MY_ETSY_KEYSTRING",sbResponseBody)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(http.LastHeader)
    System.DebugLog("Failed.")
    Return
End If

// 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

Dim product_id As Int32
Dim j As Int32
Dim count_j As Int32
Dim offering_id As Int32
Dim priceAmount As Int32
Dim priceDivisor As Int32
Dim priceCurrency_code As String
Dim priceCurrency_formatted_short As String
Dim priceCurrency_formatted_long As String
Dim priceCurrency_formatted_raw As String
Dim quantity As Int32

Dim count As Int32
count = jResp.IntOf("count")
Dim paramsListing_id As String
paramsListing_id = jResp.StringOf("params.listing_id")
Dim paramsWrite_missing_inventory As Boolean
paramsWrite_missing_inventory = jResp.BoolOf("params.write_missing_inventory")
Dim v_type As String
v_type = jResp.StringOf("type")
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("results.products")
While i < count_i
    jResp.I = i
    product_id = jResp.IntOf("results.products[i].product_id")
    j = 0
    count_j = jResp.SizeOfArray("results.products[i].property_values")
    While j < count_j
        jResp.J = j
        j = j + 1
    Wend
    j = 0
    count_j = jResp.SizeOfArray("results.products[i].offerings")
    While j < count_j
        jResp.J = j
        offering_id = jResp.IntOf("results.products[i].offerings[j].offering_id")
        priceAmount = jResp.IntOf("results.products[i].offerings[j].price.amount")
        priceDivisor = jResp.IntOf("results.products[i].offerings[j].price.divisor")
        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")
        j = j + 1
    Wend
    i = i + 1
Wend