Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

Classic ASP Web API Examples

Primary Categories

Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(Classic ASP) Walmart - Update Inventory for an Item

Demonstrates how to update inventory for an item.

Note: This example requires Chilkat v9.5.0.67 or greater.

Chilkat ActiveX Downloads

ActiveX for 32-bit and 64-bit Windows

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

' Sends the following PUT request:
' PUT https://marketplace.walmartapis.com/v2/inventory?sku={SKU}

set sbUrl = Server.CreateObject("Chilkat_9_5_0.StringBuilder")
success = sbUrl.Append("https://marketplace.walmartapis.com/v2/inventory?sku={SKU}")
numReplaced = sbUrl.Replace("{SKU}","HOPP~904~51041")

requestMethod = "PUT"

' First we need to generate a signature for our request.
' The signature needs to be re-generated for each new Walmart HTTP request.
set authUtil = Server.CreateObject("Chilkat_9_5_0.AuthUtil")

wmConsumerId = "WALMART_CONSUMER_ID"
wmPrivateKey = "WALMART_PRIVATE_KEY"
jsonStr = authUtil.WalmartSignature(sbUrl.GetAsString(),wmConsumerId,wmPrivateKey,requestMethod)
If (authUtil.LastMethodSuccess <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( authUtil.LastErrorText) & "</pre>"
    Response.End
End If

' 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
set json = Server.CreateObject("Chilkat_9_5_0.JsonObject")
success = json.Load(jsonStr)

set http = Server.CreateObject("Chilkat_9_5_0.Http")
http.SetRequestHeader "WM_SVC.NAME","Walmart Marketplace"
http.SetRequestHeader "WM_QOS.CORRELATION_ID",json.StringOf("correlation_id")
http.SetRequestHeader "WM_SEC.TIMESTAMP",json.StringOf("timestamp")
http.SetRequestHeader "WM_SEC.AUTH_SIGNATURE",json.StringOf("signature")
http.SetRequestHeader "WM_CONSUMER.ID",wmConsumerId
http.Accept = "application/xml"

' Note: Do not explicitly set the "Host" header.  Chilkat will set it automatically.

' The body of the PUT request will be XML that looks like this:

' 	<?xml version="1.0" encoding="utf-8" ?>
' 	<wm:inventory xmlns:wm="http://walmart.com/">
' 	    <wm:sku>HOPP~904~51041</wm:sku>
' 	    <wm:quantity>
' 	        <wm:unit>EACH</wm:unit>
' 	        <wm:amount>235</wm:amount>
' 	    </wm:quantity>
' 	    <wm:fulfillmentLagTime>5</wm:fulfillmentLagTime>
' 	</wm:inventory>

' Build the XML request body:
originalAmount = 234

set xmlBody = Server.CreateObject("Chilkat_9_5_0.Xml")
xmlBody.Tag = "wm:inventory"
success = xmlBody.AddAttribute("xmlns:wm","http://walmart.com/")
xmlBody.UpdateChildContent "wm:sku","HOPP~904~51041"
xmlBody.UpdateChildContent "wm:quantity|wm:unit","EACH"
xmlBody.UpdateChildContentInt "wm:quantity|wm:amount",originalAmount + 1
xmlBody.UpdateChildContent "wm:fulfillmentLagTime","5"

Response.Write "<pre>" & Server.HTMLEncode( "PUT request body:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( xmlBody.GetXml()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "--") & "</pre>"

' This is a simple PUT that can be sent w/ the PutText method.
xmlStr = http.PutText(sbUrl.GetAsString(),xmlBody.GetXml(),"utf-8","application/xml",0,0)
If (http.LastMethodSuccess <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

set xml = Server.CreateObject("Chilkat_9_5_0.Xml")
success = xml.LoadXml(xmlStr)

' A successful response should have a 200 response status
If (http.LastStatus <> 200) Then
    Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Response Status Code: " & http.LastStatus) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>"
    Response.End
End If

' A sample XML response is shown below..
Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "--") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "Success!") & "</pre>"

' ---------------------------------------
' 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>235</amount>
'     </quantity>
'     <fulfillmentLagTime>5</fulfillmentLagTime>
' </inventory>

%>
</body>
</html>

 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.