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
(Visual FoxPro) Walmart - Update bulk inventorySee Update bulk inventory for more information about this call.
LOCAL lnSuccess LOCAL lcUrl LOCAL lcRequestMethod LOCAL loAuthUtil LOCAL lcWmConsumerId LOCAL lcWmPrivateKey LOCAL lcJsonStr LOCAL loReq LOCAL loJson LOCAL loHttp LOCAL loResp LOCAL loXml * 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 lcUrl = "https://marketplace.walmartapis.com/v2/feeds?feedType=inventory" lcRequestMethod = "POST" * First we need to generate a signature for our request. * The signature needs to be re-generated for each new Walmart HTTP request. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.AuthUtil') loAuthUtil = CreateObject('Chilkat.AuthUtil') lcWmConsumerId = "WALMART_CONSUMER_ID" lcWmPrivateKey = "WALMART_PRIVATE_KEY" lcJsonStr = loAuthUtil.WalmartSignature(lcUrl,lcWmConsumerId,lcWmPrivateKey,lcRequestMethod) IF (loAuthUtil.LastMethodSuccess <> 1) THEN ? loAuthUtil.LastErrorText RELEASE loAuthUtil CANCEL ENDIF * Build the HTTP POST request. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest') loReq = CreateObject('Chilkat.HttpRequest') loReq.HttpVerb = "POST" loReq.ContentType = "multipart/form-data" loReq.Path = "/v2/feeds?feedType=inventory" loReq.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 * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.Load(lcJsonStr) loReq.AddHeader("WM_SVC.NAME","Walmart Marketplace") loReq.AddHeader("WM_QOS.CORRELATION_ID",loJson.StringOf("correlation_id")) loReq.AddHeader("WM_SEC.TIMESTAMP",loJson.StringOf("timestamp")) loReq.AddHeader("WM_SEC.AUTH_SIGNATURE",loJson.StringOf("signature")) loReq.AddHeader("WM_CONSUMER.ID",lcWmConsumerId) * Note: Make sure to replace "WALMART_CHANNEL_TYPE" with the actual value for your seller account... loReq.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> lnSuccess = loReq.AddFileForUpload2("inventory","qa_data/walmart/inventory.xml","application/xml") IF (lnSuccess <> 1) THEN ? loReq.LastErrorText RELEASE loAuthUtil RELEASE loReq RELEASE loJson CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') loResp = loHttp.SynchronousRequest("marketplace.walmartapis.com",443,1,loReq) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loAuthUtil RELEASE loReq RELEASE loJson RELEASE loHttp CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXml = CreateObject('Chilkat.Xml') loXml.LoadXml(loResp.BodyStr) * A successful response should have a 200 response status IF (loResp.StatusCode <> 200) THEN ? loXml.GetXml() ? "Response Status Code: " + STR(loResp.StatusCode) ? "Failed." RELEASE loResp RELEASE loAuthUtil RELEASE loReq RELEASE loJson RELEASE loHttp RELEASE loXml CANCEL ENDIF RELEASE loResp * Show the XML response.. ? loXml.GetXml() ? "--" ? "Success!" RELEASE loAuthUtil RELEASE loReq RELEASE loJson RELEASE loHttp RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.