Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Walmart - Update bulk inventorySee Update bulk inventory for more information about this call.
integer li_rc integer li_Success string ls_Url string ls_RequestMethod oleobject loo_AuthUtil string ls_WmConsumerId string ls_WmPrivateKey string ls_JsonStr oleobject loo_Req oleobject loo_Json oleobject loo_Http oleobject loo_Resp oleobject loo_Xml // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Sends the following POST request: // POST https://marketplace.walmartapis.com/v2/feeds?feedType=inventory ls_Url = "https://marketplace.walmartapis.com/v2/feeds?feedType=inventory" ls_RequestMethod = "POST" // First we need to generate a signature for our request. // The signature needs to be re-generated for each new Walmart HTTP request. loo_AuthUtil = create oleobject // Use "Chilkat_9_5_0.AuthUtil" for versions of Chilkat < 10.0.0 li_rc = loo_AuthUtil.ConnectToNewObject("Chilkat.AuthUtil") if li_rc < 0 then destroy loo_AuthUtil MessageBox("Error","Connecting to COM object failed") return end if ls_WmConsumerId = "WALMART_CONSUMER_ID" ls_WmPrivateKey = "WALMART_PRIVATE_KEY" ls_JsonStr = loo_AuthUtil.WalmartSignature(ls_Url,ls_WmConsumerId,ls_WmPrivateKey,ls_RequestMethod) if loo_AuthUtil.LastMethodSuccess <> 1 then Write-Debug loo_AuthUtil.LastErrorText destroy loo_AuthUtil return end if // Build the HTTP POST request. loo_Req = create oleobject // Use "Chilkat_9_5_0.HttpRequest" for versions of Chilkat < 10.0.0 li_rc = loo_Req.ConnectToNewObject("Chilkat.HttpRequest") loo_Req.HttpVerb = "POST" loo_Req.ContentType = "multipart/form-data" loo_Req.Path = "/v2/feeds?feedType=inventory" loo_Req.AddHeader("Accept","application/xml") // 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 loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") loo_Json.Load(ls_JsonStr) loo_Req.AddHeader("WM_SVC.NAME","Walmart Marketplace") loo_Req.AddHeader("WM_QOS.CORRELATION_ID",loo_Json.StringOf("correlation_id")) loo_Req.AddHeader("WM_SEC.TIMESTAMP",loo_Json.StringOf("timestamp")) loo_Req.AddHeader("WM_SEC.AUTH_SIGNATURE",loo_Json.StringOf("signature")) loo_Req.AddHeader("WM_CONSUMER.ID",ls_WmConsumerId) // Note: Make sure to replace "WALMART_CHANNEL_TYPE" with the actual value for your seller account... loo_Req.AddHeader("WM_CONSUMER.CHANNEL.TYPE","WALMART_CHANNEL_TYPE") // The body of the POST will contain XML. In this example, we'll load the XML // from a file. The XML contains inventory data that looks something like this: // <InventoryFeed xmlns="http://walmart.com/"> // <InventoryHeader> // <version>1.4</version> // </InventoryHeader> // <inventory> // <sku>1068155</sku> // <quantity> // <unit>EACH</unit> // <amount>10</amount> // </quantity> // <fulfillmentLagTime>1</fulfillmentLagTime> // </inventory> // <inventory> // <sku>10210321</sku> // <quantity> // <unit>EACH</unit> // <amount>20</amount> // </quantity> // <fulfillmentLagTime>3</fulfillmentLagTime> // </inventory> // </InventoryFeed> li_Success = loo_Req.AddFileForUpload2("inventory","qa_data/walmart/inventory.xml","application/xml") if li_Success <> 1 then Write-Debug loo_Req.LastErrorText destroy loo_AuthUtil destroy loo_Req destroy loo_Json return end if loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") loo_Resp = loo_Http.SynchronousRequest("marketplace.walmartapis.com",443,1,loo_Req) if loo_Http.LastMethodSuccess <> 1 then Write-Debug loo_Http.LastErrorText destroy loo_AuthUtil destroy loo_Req destroy loo_Json destroy loo_Http return end if loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") loo_Xml.LoadXml(loo_Resp.BodyStr) // A successful response should have a 200 response status if loo_Resp.StatusCode <> 200 then Write-Debug loo_Xml.GetXml() Write-Debug "Response Status Code: " + string(loo_Resp.StatusCode) Write-Debug "Failed." destroy loo_Resp destroy loo_AuthUtil destroy loo_Req destroy loo_Json destroy loo_Http destroy loo_Xml return end if destroy loo_Resp // Show the XML response.. Write-Debug loo_Xml.GetXml() Write-Debug "--" Write-Debug "Success!" destroy loo_AuthUtil destroy loo_Req destroy loo_Json destroy loo_Http destroy loo_Xml |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.