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
(Delphi DLL) 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
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; jsonRequestBody: HCkJsonObject; url: PWideChar; resp: HCkHttpResponse; jsonResponse: HCkJsonObject; inventory_levelInventory_item_id: Integer; inventory_levelLocation_id: Integer; inventory_levelAvailable: Integer; inventory_levelUpdated_at: PWideChar; inventory_levelAdmin_graphql_api_id: PWideChar; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); CkHttp_putLogin(http,'SHOPIFY_PRIVATE_API_KEY'); CkHttp_putPassword(http,'SHOPIFY_PRIVATE_API_KEY'); // Also see: How to retrieve inventory levels CkHttp_putAccept(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 := CkJsonObject_Create(); CkJsonObject_UpdateInt(jsonRequestBody,'location_id',6884556842); CkJsonObject_UpdateInt(jsonRequestBody,'inventory_item_id',12250274365496); CkJsonObject_UpdateInt(jsonRequestBody,'available_adjustment',1); url := 'https://{shop}.myshopify.com/admin/api/2020-04/inventory_levels/adjust.json'; resp := CkHttp_PText(http,'POST',url,CkJsonObject__emit(jsonRequestBody),'utf-8','application/json',False,False); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response Status Code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); jsonResponse := CkJsonObject_Create(); CkJsonObject_Load(jsonResponse,CkHttpResponse__bodyStr(resp)); CkJsonObject_putEmitCompact(jsonResponse,False); Memo1.Lines.Add(CkJsonObject__emit(jsonResponse)); if (CkHttpResponse_getStatusCode(resp) >= 300) then begin Memo1.Lines.Add('Failed.'); CkHttpResponse_Dispose(resp); Exit; end; CkHttpResponse_Dispose(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 := CkJsonObject_IntOf(jsonResponse,'inventory_level.inventory_item_id'); inventory_levelLocation_id := CkJsonObject_IntOf(jsonResponse,'inventory_level.location_id'); inventory_levelAvailable := CkJsonObject_IntOf(jsonResponse,'inventory_level.available'); inventory_levelUpdated_at := CkJsonObject__stringOf(jsonResponse,'inventory_level.updated_at'); inventory_levelAdmin_graphql_api_id := CkJsonObject__stringOf(jsonResponse,'inventory_level.admin_graphql_api_id'); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonRequestBody); CkJsonObject_Dispose(jsonResponse); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.