Ruby
Ruby
Etsy: Get the Inventory for a Listing
See more Etsy Examples
Gets the inventory for a listing.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# Implements the following CURL command:
# curl -X GET \
# https://openapi.etsy.com/v2/listings/listing_id/inventory?api_key=MY_ETSY_KEYSTRING
sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://openapi.etsy.com/v2/listings/listing_id/inventory?api_key=MY_ETSY_KEYSTRING",sbResponseBody)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)
jResp.put_EmitCompact(false)
print "Response Body:" + "\n";
print jResp.emit() + "\n";
respStatusCode = http.get_LastStatus()
print "Response Status Code = " + respStatusCode.to_s() + "\n";
if (respStatusCode >= 400)
print "Response Header:" + "\n";
print http.lastHeader() + "\n";
print "Failed." + "\n";
exit
end
# 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
count = jResp.IntOf("count")
paramsListing_id = jResp.stringOf("params.listing_id")
paramsWrite_missing_inventory = jResp.BoolOf("params.write_missing_inventory")
v_type = jResp.stringOf("type")
i = 0
count_i = jResp.SizeOfArray("results.products")
while i < count_i
jResp.put_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.put_J(j)
j = j + 1
end
j = 0
count_j = jResp.SizeOfArray("results.products[i].offerings")
while j < count_j
jResp.put_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
end
i = i + 1
end