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
(PowerShell) Walmart - Update bulk inventorySee Update bulk inventory for more information about this call.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # 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 $url = "https://marketplace.walmartapis.com/v2/feeds?feedType=inventory" $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. $authUtil = New-Object Chilkat.AuthUtil $wmConsumerId = "WALMART_CONSUMER_ID" $wmPrivateKey = "WALMART_PRIVATE_KEY" $jsonStr = $authUtil.WalmartSignature($url,$wmConsumerId,$wmPrivateKey,$requestMethod) if ($authUtil.LastMethodSuccess -ne $true) { $($authUtil.LastErrorText) exit } # Build the HTTP POST request. $req = New-Object Chilkat.HttpRequest $req.HttpVerb = "POST" $req.ContentType = "multipart/form-data" $req.Path = "/v2/feeds?feedType=inventory" $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 $json = New-Object Chilkat.JsonObject $json.Load($jsonStr) $req.AddHeader("WM_SVC.NAME","Walmart Marketplace") $req.AddHeader("WM_QOS.CORRELATION_ID",$json.StringOf("correlation_id")) $req.AddHeader("WM_SEC.TIMESTAMP",$json.StringOf("timestamp")) $req.AddHeader("WM_SEC.AUTH_SIGNATURE",$json.StringOf("signature")) $req.AddHeader("WM_CONSUMER.ID",$wmConsumerId) # Note: Make sure to replace "WALMART_CHANNEL_TYPE" with the actual value for your seller account... $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> $success = $req.AddFileForUpload2("inventory","qa_data/walmart/inventory.xml","application/xml") if ($success -ne $true) { $($req.LastErrorText) exit } $http = New-Object Chilkat.Http $resp = $http.SynchronousRequest("marketplace.walmartapis.com",443,$true,$req) if ($http.LastMethodSuccess -ne $true) { $($http.LastErrorText) exit } $xml = New-Object Chilkat.Xml $xml.LoadXml($resp.BodyStr) # A successful response should have a 200 response status if ($resp.StatusCode -ne 200) { $($xml.GetXml()) $("Response Status Code: " + $resp.StatusCode) $("Failed.") exit } # Show the XML response.. $($xml.GetXml()) $("--") $("Success!") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.