Sample code for 30+ languages & platforms
PowerShell

Walmart V3 API - Get All Released Orders

See more Walmart v3 Examples

Retrieves all the orders with line items that are in the "created" status, that is, these orders have been released from the Walmart Order Management System to the seller for processing. The released orders are the orders that are ready for a seller to fulfill.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = New-Object Chilkat.Http

$http.Accept = "application/json"

# Setting the Login and Password properties to the clientId and clientSecret
# will cause the Basic Auth header to be added (i.e. BaseEncode64(clientId:clientSecret))
$http.Login = "clientId"
$http.Password = "clientSecret"
$http.BasicAuth = $true

$http.SetRequestHeader("Content-Type","application/json")
$http.SetRequestHeader("WM_QOS.CORRELATION_ID","b3261d2d-028a-4ef7-8602-633c23200af6")
# Use the access token obtained from this example:  Walmart v3 API Get OAuth2 Access Token using Client Credentials
$http.SetRequestHeader("WM_SEC.ACCESS_TOKEN","eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....")
$http.SetRequestHeader("WM_SVC.NAME","Walmart Marketplace")

$http.SetUrlVar("createdStartDate","2020-01-16T10:30:15Z")
$http.SetUrlVar("limit","200")
# Can also be 3PLFulfilled
$http.SetUrlVar("shippingProgramType","SellerFulfilled")
$http.SetUrlVar("shipNodeType","TWO_DAY")

$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpNoBody("GET","/v3/orders/released?createdStartDate={$createdStartDate}&limit={$limit}&shippingProgramType={$shippingProgramType}&shipNodeType={$shipNodeType}",$resp)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$("Response Status Code: " + $resp.StatusCode)

$jsonResponse = New-Object Chilkat.JsonObject
$jsonResponse.Load($resp.BodyStr)
$jsonResponse.EmitCompact = $false
$($jsonResponse.Emit())

if ($resp.StatusCode -ne 200) {
    $("Failed.")
    exit
}

# Sample output...
# (See the parsing code below..)
# 
# Use the this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

# {
#   "list": {
#     "meta": {
#       "totalCount": 25228,
#       "limit": 10,
#       "nextCursor": "?limit=10&hasMoreElements=true&soIndex=25228&poIndex=10&sellerId=152&createdStartDate=2019-04-02T00:00:00.000Z&createdEndDate=2019-09-26T16:05:49.648Z"
#     },
#     "elements": {
#       "order": [
#         {
#           "purchaseOrderId": "4792701510371",
#           "customerOrderId": "5401973367419",
#           "customerEmailId": "47B81ACD2C62434DBE64F47B9E1F7630@relay.walmart.com",
#           "orderDate": 1569513584000,
#           "shippingInfo": {
#             "phone": "2134488377",
#             "estimatedDeliveryDate": 1569870000000,
#             "estimatedShipDate": 1569553200000,
#             "methodCode": "Express",
#             "postalAddress": {
#               "name": "Julio Hernandez",
#               "address1": "9713 pleasant view dr",
#               "address2": null,
#               "city": "Rancho Cucamonga",
#               "state": "CA",
#               "postalCode": "91701",
#               "country": "USA",
#               "addressType": "RESIDENTIAL"
#             }
#           },
#           "orderLines": {
#             "orderLine": [
#               {
#                 "lineNumber": "1",
#                 "item": {
#                   "productName": "Refurbished Lenovo YB1-X90F Grey Yoga Book with WiFi 10.1\" Touchscreen Tablet Android 6.0.1",
#                   "sku": "VO190403007727R"
#                 },
#                 "charges": {
#                   "charge": [
#                     {
#                       "chargeType": "PRODUCT",
#                       "chargeName": "ItemPrice",
#                       "chargeAmount": {
#                         "currency": "USD",
#                         "amount": 259
#                       },
#                       "tax": {
#                         "taxName": "Tax1",
#                         "taxAmount": {
#                           "currency": "USD",
#                           "amount": 20.07
#                         }
#                       }
#                     },
#                     {
#                       "chargeType": "FEE",
#                       "chargeName": "Fee",
#                       "chargeAmount": {
#                         "currency": "USD",
#                         "amount": 0
#                       },
#                       "tax": {
#                         "taxName": "Electronic Waste Recycling Fee",
#                         "taxAmount": {
#                           "currency": "USD",
#                           "amount": 5
#                         }
#                       }
#                     }
#                   ]
#                 },
#                 "orderLineQuantity": {
#                   "unitOfMeasurement": "EACH",
#                   "amount": "1"
#                 },
#                 "statusDate": 1569513724000,
#                 "orderLineStatuses": {
#                   "orderLineStatus": [
#                     {
#                       "status": "Acknowledged",
#                       "statusQuantity": {
#                         "unitOfMeasurement": "EACH",
#                         "amount": "1"
#                       },
#                       "cancellationReason": null,
#                       "trackingInfo": null,
#                       "returnCenterAddress": null
#                     }
#                   ]
#                 },
#                 "refund": null,
#                 "fulfillment": {
#                   "fulfillmentOption": "S2H",
#                   "shipMethod": "EXPEDITED",
#                   "storeId": null,
#                   "pickUpDateTime": 1569870000000,
#                   "pickUpBy": null,
#                   "shippingProgramType": "TWO_DAY"
#                 }
#               }
#             ]
#           },
#           "shipNode": {
#             "type": "3PLFulfilled"
#           }
#         }
#       ]
#     }
#   }
# }
# 

$listMetaTotalCount = $jsonResponse.IntOf("list.meta.totalCount")
$listMetaLimit = $jsonResponse.IntOf("list.meta.limit")
$listMetaNextCursor = $jsonResponse.StringOf("list.meta.nextCursor")
$i = 0
$count_i = $jsonResponse.SizeOfArray("list.elements.order")
while ($i -lt $count_i) {
    $jsonResponse.I = $i
    $purchaseOrderId = $jsonResponse.StringOf("list.elements.order[i].purchaseOrderId")
    $customerOrderId = $jsonResponse.StringOf("list.elements.order[i].customerOrderId")
    $customerEmailId = $jsonResponse.StringOf("list.elements.order[i].customerEmailId")
    $orderDate = $jsonResponse.IntOf("list.elements.order[i].orderDate")
    $shippingInfoPhone = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.phone")
    $shippingInfoEstimatedDeliveryDate = $jsonResponse.IntOf("list.elements.order[i].shippingInfo.estimatedDeliveryDate")
    $shippingInfoEstimatedShipDate = $jsonResponse.IntOf("list.elements.order[i].shippingInfo.estimatedShipDate")
    $shippingInfoMethodCode = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.methodCode")
    $shippingInfoPostalAddressName = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.name")
    $shippingInfoPostalAddressAddress1 = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.address1")
    $shippingInfoPostalAddressAddress2 = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.address2")
    $shippingInfoPostalAddressCity = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.city")
    $shippingInfoPostalAddressState = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.state")
    $shippingInfoPostalAddressPostalCode = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.postalCode")
    $shippingInfoPostalAddressCountry = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.country")
    $shippingInfoPostalAddressAddressType = $jsonResponse.StringOf("list.elements.order[i].shippingInfo.postalAddress.addressType")
    $shipNodeType = $jsonResponse.StringOf("list.elements.order[i].shipNode.type")
    $j = 0
    $count_j = $jsonResponse.SizeOfArray("list.elements.order[i].orderLines.orderLine")
    while ($j -lt $count_j) {
        $jsonResponse.J = $j
        $lineNumber = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].lineNumber")
        $itemProductName = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].item.productName")
        $itemSku = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].item.sku")
        $orderLineQuantityUnitOfMeasurement = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineQuantity.unitOfMeasurement")
        $orderLineQuantityAmount = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineQuantity.amount")
        $statusDate = $jsonResponse.IntOf("list.elements.order[i].orderLines.orderLine[j].statusDate")
        $refund = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].refund")
        $fulfillmentFulfillmentOption = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.fulfillmentOption")
        $fulfillmentShipMethod = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.shipMethod")
        $fulfillmentStoreId = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.storeId")
        $fulfillmentPickUpDateTime = $jsonResponse.IntOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.pickUpDateTime")
        $fulfillmentPickUpBy = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.pickUpBy")
        $fulfillmentShippingProgramType = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].fulfillment.shippingProgramType")
        $k = 0
        $count_k = $jsonResponse.SizeOfArray("list.elements.order[i].orderLines.orderLine[j].charges.charge")
        while ($k -lt $count_k) {
            $jsonResponse.K = $k
            $chargeType = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].chargeType")
            $chargeName = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].chargeName")
            $chargeAmountCurrency = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].chargeAmount.currency")
            $chargeAmountAmount = $jsonResponse.IntOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].chargeAmount.amount")
            $taxTaxName = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].tax.taxName")
            $taxTaxAmountCurrency = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].tax.taxAmount.currency")
            $taxTaxAmountAmount = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].charges.charge[k].tax.taxAmount.amount")
            $k = $k + 1
        }

        $k = 0
        $count_k = $jsonResponse.SizeOfArray("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus")
        while ($k -lt $count_k) {
            $jsonResponse.K = $k
            $status = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].status")
            $statusQuantityUnitOfMeasurement = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].statusQuantity.unitOfMeasurement")
            $statusQuantityAmount = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].statusQuantity.amount")
            $cancellationReason = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].cancellationReason")
            $trackingInfo = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].trackingInfo")
            $returnCenterAddress = $jsonResponse.StringOf("list.elements.order[i].orderLines.orderLine[j].orderLineStatuses.orderLineStatus[k].returnCenterAddress")
            $k = $k + 1
        }

        $j = $j + 1
    }

    $i = $i + 1
}