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
(DataFlex) Walmart - Get Inventory for an ItemDemonstrates how to get inventory for an item and parse the result.
Use ChilkatAx-win32.pkg Procedure Test Handle hoSbUrl Boolean iSuccess Integer iNumReplaced String sRequestMethod Handle hoAuthUtil String sWmConsumerId String sWmPrivateKey String sJsonStr Handle hoJson Handle hoHttp String sXmlStr Handle hoXml Integer iQuantity String sTemp1 Integer iTemp1 Boolean bTemp1 // --------------------------------------------------------------------------------------------------------- // Note: This example is deprecated. The Walmart API no longer uses the Signature method of authenticating. // Walmart now uses OAuth2. // --------------------------------------------------------------------------------------------------------- // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Sends the following GET request: // GET https://marketplace.walmartapis.com/v2/inventory?sku={SKU} Get Create (RefClass(cComChilkatStringBuilder)) To hoSbUrl If (Not(IsComObjectCreated(hoSbUrl))) Begin Send CreateComObject of hoSbUrl End Get ComAppend Of hoSbUrl "https://marketplace.walmartapis.com/v2/inventory?sku={SKU}" To iSuccess Get ComReplace Of hoSbUrl "{SKU}" "HOPP~904~51041" To iNumReplaced Move "GET" To sRequestMethod // First we need to generate a signature for our request. // The signature needs to be re-generated for each new Walmart HTTP request. Get Create (RefClass(cComChilkatAuthUtil)) To hoAuthUtil If (Not(IsComObjectCreated(hoAuthUtil))) Begin Send CreateComObject of hoAuthUtil End Move "WALMART_CONSUMER_ID" To sWmConsumerId Move "WALMART_PRIVATE_KEY" To sWmPrivateKey Get ComGetAsString Of hoSbUrl To sTemp1 Get ComWalmartSignature Of hoAuthUtil sTemp1 sWmConsumerId sWmPrivateKey sRequestMethod To sJsonStr Get ComLastMethodSuccess Of hoAuthUtil To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoAuthUtil To sTemp1 Showln sTemp1 Procedure_Return End // The JSON returned by WalmartSignature contains the values to be used in the following // header fields: WM_SEC.AUTH_SIGNATURE, WM_SEC.TIMESTAMP, and WM_QOS.CORRELATION_ID Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComLoad Of hoJson sJsonStr To iSuccess Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Send ComSetRequestHeader To hoHttp "WM_SVC.NAME" "Walmart Marketplace" Get ComStringOf Of hoJson "correlation_id" To sTemp1 Send ComSetRequestHeader To hoHttp "WM_QOS.CORRELATION_ID" sTemp1 Get ComStringOf Of hoJson "timestamp" To sTemp1 Send ComSetRequestHeader To hoHttp "WM_SEC.TIMESTAMP" sTemp1 Get ComStringOf Of hoJson "signature" To sTemp1 Send ComSetRequestHeader To hoHttp "WM_SEC.AUTH_SIGNATURE" sTemp1 Send ComSetRequestHeader To hoHttp "WM_CONSUMER.ID" sWmConsumerId Set ComAccept Of hoHttp To "application/xml" // Note: Do not explicitly set the "Host" header. Chilkat will set it automatically. Get ComGetAsString Of hoSbUrl To sTemp1 Get ComQuickGetStr Of hoHttp sTemp1 To sXmlStr Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXml Of hoXml sXmlStr To iSuccess // A successful response should have a 200 response status Get ComLastStatus Of hoHttp To iTemp1 If (iTemp1 <> 200) Begin Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 Get ComLastStatus Of hoHttp To iTemp1 Showln "Response Status Code: " iTemp1 Showln "Failed." Procedure_Return End // A sample XML response is shown below.. Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 Showln "--" // To get the quantity: Get ComGetChildIntValue Of hoXml "quantity|amount" To iQuantity Showln "quantity = " iQuantity // --------------------------------------- // Sample XML response // --------------------------------------- // <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> // <inventory xmlns="http://walmart.com/"> // <sku>HOPP~904~51041</sku> // <quantity> // <unit>EACH</unit> // <amount>234</amount> // </quantity> // <fulfillmentLagTime>5</fulfillmentLagTime> // </inventory> End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.