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
(PureBasic) Shopify Update Inventory Level for a Product (Adjust available quantity)Use the adjust endpoint with the location ID and inventory item ID to increase or decrease the available quantity for an inventory level: For more information, see https://shopify.dev/tutorials/manage-product-inventory-with-admin-api#update-inventory-levels-for-a-product-variant
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::setCkLogin(http, "SHOPIFY_PRIVATE_API_KEY") CkHttp::setCkPassword(http, "SHOPIFY_PRIVATE_API_KEY") ; Also see: How to retrieve inventory levels CkHttp::setCkAccept(http, "application/json") ; The following JSON is sent in the request body: ; { ; "location_id": 6884556842, ; "inventory_item_id": 12250274365496, ; "available_adjustment": 1 ; } ; Use this online tool to generate the code from sample JSON: ; Generate Code to Create JSON jsonRequestBody.i = CkJsonObject::ckCreate() If jsonRequestBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateInt(jsonRequestBody,"location_id",6884556842) CkJsonObject::ckUpdateInt(jsonRequestBody,"inventory_item_id",12250274365496) CkJsonObject::ckUpdateInt(jsonRequestBody,"available_adjustment",1) url.s = "https://{shop}.myshopify.com/admin/api/2020-04/inventory_levels/adjust.json" resp.i = CkHttp::ckPText(http,"POST",url,CkJsonObject::ckEmit(jsonRequestBody),"utf-8","application/json",0,0) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonRequestBody) ProcedureReturn EndIf Debug "Response Status Code: " + Str(CkHttpResponse::ckStatusCode(resp)) jsonResponse.i = CkJsonObject::ckCreate() If jsonResponse.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(jsonResponse,CkHttpResponse::ckBodyStr(resp)) CkJsonObject::setCkEmitCompact(jsonResponse, 0) Debug CkJsonObject::ckEmit(jsonResponse) If CkHttpResponse::ckStatusCode(resp) >= 300 Debug "Failed." CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonRequestBody) CkJsonObject::ckDispose(jsonResponse) ProcedureReturn EndIf CkHttpResponse::ckDispose(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": 9, ; "updated_at": "2018-06-26T15:04:49-04:00", ; ... ; "admin_graphql_api_id": "gid://shopify/InventoryLevel/6485147690?inventory_item_id=12250274365496" ; ... ; } ; } ; inventory_levelInventory_item_id.i = CkJsonObject::ckIntOf(jsonResponse,"inventory_level.inventory_item_id") inventory_levelLocation_id.i = CkJsonObject::ckIntOf(jsonResponse,"inventory_level.location_id") inventory_levelAvailable.i = CkJsonObject::ckIntOf(jsonResponse,"inventory_level.available") inventory_levelUpdated_at.s = CkJsonObject::ckStringOf(jsonResponse,"inventory_level.updated_at") inventory_levelAdmin_graphql_api_id.s = CkJsonObject::ckStringOf(jsonResponse,"inventory_level.admin_graphql_api_id") CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonRequestBody) CkJsonObject::ckDispose(jsonResponse) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.