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

PowerShell Web API Examples

Primary Categories

Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(PowerShell) Walmart - Update bulk inventory

See Update bulk inventory for more information about this call.

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

Chilkat .NET Downloads

Chilkat .NET Assemblies

Chilkat for Mono

[Reflection.Assembly]::LoadFile("C:\myAssemblies\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-2019 Chilkat Software, Inc. All Rights Reserved.