Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Shopify Set inventory levels to a certain amountUse the set endpoint with the location ID and inventory item ID to set an inventory level to a specific value. For more information, see https://shopify.dev/tutorials/manage-product-inventory-with-admin-api#update-inventory-levels-for-a-product-variant
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @http, 'Login', 'SHOPIFY_PRIVATE_API_KEY' EXEC sp_OASetProperty @http, 'Password', 'SHOPIFY_PRIVATE_API_KEY' -- Also see: How to retrieve inventory levels EXEC sp_OASetProperty @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 DECLARE @jsonRequestBody int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonRequestBody OUT DECLARE @success int EXEC sp_OAMethod @jsonRequestBody, 'UpdateInt', @success OUT, 'location_id', 6884556842 EXEC sp_OAMethod @jsonRequestBody, 'UpdateInt', @success OUT, 'inventory_item_id', 12250274365496 EXEC sp_OAMethod @jsonRequestBody, 'UpdateInt', @success OUT, 'available', 1 DECLARE @url nvarchar(4000) SELECT @url = 'https://{shop}.myshopify.com/admin/api/2020-04/inventory_levels/set.json' DECLARE @resp int EXEC sp_OAMethod @jsonRequestBody, 'Emit', @sTmp0 OUT EXEC sp_OAMethod @http, 'PText', @resp OUT, 'POST', @url, @sTmp0, 'utf-8', 'application/json', 0, 0 EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @jsonRequestBody RETURN END EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT PRINT 'Response Status Code: ' + @iTmp0 DECLARE @jsonResponse int -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonResponse OUT EXEC sp_OAGetProperty @resp, 'BodyStr', @sTmp0 OUT EXEC sp_OAMethod @jsonResponse, 'Load', @success OUT, @sTmp0 EXEC sp_OASetProperty @jsonResponse, 'EmitCompact', 0 EXEC sp_OAMethod @jsonResponse, 'Emit', @sTmp0 OUT PRINT @sTmp0 EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT IF @iTmp0 >= 300 BEGIN PRINT 'Failed.' EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @jsonRequestBody EXEC @hr = sp_OADestroy @jsonResponse RETURN END EXEC @hr = sp_OADestroy @resp -- 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" -- ... -- } -- } -- DECLARE @inventory_levelInventory_item_id int EXEC sp_OAMethod @jsonResponse, 'IntOf', @inventory_levelInventory_item_id OUT, 'inventory_level.inventory_item_id' DECLARE @inventory_levelLocation_id int EXEC sp_OAMethod @jsonResponse, 'IntOf', @inventory_levelLocation_id OUT, 'inventory_level.location_id' DECLARE @inventory_levelAvailable int EXEC sp_OAMethod @jsonResponse, 'IntOf', @inventory_levelAvailable OUT, 'inventory_level.available' DECLARE @inventory_levelUpdated_at nvarchar(4000) EXEC sp_OAMethod @jsonResponse, 'StringOf', @inventory_levelUpdated_at OUT, 'inventory_level.updated_at' DECLARE @inventory_levelAdmin_graphql_api_id nvarchar(4000) EXEC sp_OAMethod @jsonResponse, 'StringOf', @inventory_levelAdmin_graphql_api_id OUT, 'inventory_level.admin_graphql_api_id' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @jsonRequestBody EXEC @hr = sp_OADestroy @jsonResponse END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.