Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

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

print 'Response Status Code: ' . $resp->StatusCode . "\n";

$jsonResponse = new COM("Chilkat.JsonObject");
$jsonResponse->Load($resp->BodyStr);
$jsonResponse->EmitCompact = 0;
print $jsonResponse->emit() . "\n";

if ($resp->StatusCode != 200) {
    print 'Failed.' . "\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->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->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->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->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;
}


?>