Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

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 Perl Downloads

Perl
use chilkat();

$success = 0;

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

$http = chilkat::CkHttp->new();

$http->put_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->put_Login("clientId");
$http->put_Password("clientSecret");
$http->put_BasicAuth(1);

$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 = chilkat::CkHttpResponse->new();
$success = $http->HttpNoBody("GET","/v3/orders/released?createdStartDate={$createdStartDate}&limit={$limit}&shippingProgramType={$shippingProgramType}&shipNodeType={$shipNodeType}",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response Status Code: " . $resp->get_StatusCode() . "\r\n";

$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->Load($resp->bodyStr());
$jsonResponse->put_EmitCompact(0);
print $jsonResponse->emit() . "\r\n";

if ($resp->get_StatusCode() != 200) {
    print "Failed." . "\r\n";
    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 < $count_i) {
    $jsonResponse->put_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 < $count_j) {
        $jsonResponse->put_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 < $count_k) {
            $jsonResponse->put_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 < $count_k) {
            $jsonResponse->put_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;
}