Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.0.0+

Shopify Set inventory levels to a certain amount

See more Shopify Examples

Use the set endpoint with the location ID and inventory item ID to set an inventory level to a specific value.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.new()

http.login = "SHOPIFY_PRIVATE_API_KEY"
http.password = "SHOPIFY_PRIVATE_API_KEY"

-- Also see: How to retrieve inventory levels

http.accept = "application/json"

-- The following JSON is sent in the request body:

-- {
--   "location_id": 6884556842,
--   "inventory_item_id": 12250274365496,
--   "available": 1
-- }

-- Use this online tool to generate the code from sample JSON:
-- Generate Code to Create JSON

local jsonRequestBody = chilkat.JsonObject.new()
jsonRequestBody:update_number("location_id", "6884556842")
jsonRequestBody:update_number("inventory_item_id", "12250274365496")
jsonRequestBody:update_int("available", 1)

local url = "https://{shop}.myshopify.com/admin/api/2020-04/inventory_levels/set.json"

local resp = chilkat.HttpResponse.new()
local success = http:http_json("POST", url, jsonRequestBody, "application/json", resp)
if not success then
    print(http.last_error_text)
    return
end

print("Response Status Code: " .. resp.status_code)

local jsonResponse = chilkat.JsonObject.new()
jsonResponse:load(resp.body_str)
jsonResponse.emit_compact = false
print(jsonResponse:emit())

if resp.status_code >= 300 then
    print("Failed.")
    return
end

-- Sample output...
-- (See the parsing code below..)
--
-- Use the this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON

-- {
--   "inventory_level": {
--     "inventory_item_id": 12250274365496,
--     "location_id": 6884556842,
--     "available": 1,
--     "updated_at": "2018-06-26T15:44:33-04:00",
-- ...
--     "admin_graphql_api_id": "gid://shopify/InventoryLevel/6485147690?inventory_item_id=12250274365496"
-- ...
--   }
-- }
--

local inventory_levelInventory_item_id = jsonResponse:int_of("inventory_level.inventory_item_id")
local inventory_levelLocation_id = jsonResponse:int_of("inventory_level.location_id")
local inventory_levelAvailable = jsonResponse:int_of("inventory_level.available")
local inventory_levelUpdated_at = jsonResponse:string_of("inventory_level.updated_at")
local inventory_levelAdmin_graphql_api_id = jsonResponse:string_of("inventory_level.admin_graphql_api_id")