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

Walmart v3 Ship Order Lines

See more Walmart v3 Examples

Updates the status of order lines to Shipped and trigger the charge to the customer. The response to a successful call contains the order with the shipped line items.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")

$oHttp.SetRequestHeader "WM_QOS.CORRELATION_ID","b3261d2d-028a-4ef7-8602-633c23200af6"
$oHttp.SetRequestHeader "WM_SEC.ACCESS_TOKEN","eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM....."
$oHttp.SetRequestHeader "Accept","application/json"
$oHttp.SetRequestHeader "WM_SVC.NAME","Walmart Marketplace"

;  Send the following in the request body:

;  {
;    "orderShipment": {
;      "orderLines": {
;        "orderLine": [
;          {
;            "lineNumber": "1",
;            "intentToCancelOverride": false,
;            "sellerOrderId": "92344",
;            "orderLineStatuses": {
;              "orderLineStatus": [
;                {
;                  "status": "Shipped",
;                  "statusQuantity": {
;                    "unitOfMeasurement": "EACH",
;                    "amount": "1"
;                  },
;                  "trackingInfo": {
;                    "shipDateTime": 1580821866000,
;                    "carrierName": {
;                      "carrier": "UPS"
;                    },
;                    "methodCode": "Standard",
;                    "trackingNumber": "22344",
;                    "trackingURL": "http://walmart/tracking/ups?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92345"
;                  },
;                  "returnCenterAddress": {
;                    "name": "walmart",
;                    "address1": "walmart store 2",
;                    "city": "Huntsville",
;                    "state": "AL",
;                    "postalCode": "35805",
;                    "country": "USA",
;                    "dayPhone": "12344",
;                    "emailId": "walmart@walmart.com"
;                  }
;                }
;              ]
;            }
;          },
;          {
;            "lineNumber": "2",
;            "sellerOrderId": "92344",
;            "orderLineStatuses": {
;              "orderLineStatus": [
;                {
;                  "status": "Shipped",
;                  "statusQuantity": {
;                    "unitOfMeasurement": "EACH",
;                    "amount": "1"
;                  },
;                  "trackingInfo": {
;                    "shipDateTime": 1580821866000,
;                    "carrierName": {
;                      "carrier": "FedEx"
;                    },
;                    "methodCode": "Express",
;                    "trackingNumber": "22344",
;                    "trackingURL": "http://walmart/tracking/fedEx?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92344"
;                  },
;                  "returnCenterAddress": {
;                    "name": "walmart",
;                    "address1": "walmart store 2",
;                    "city": "Huntsville",
;                    "state": "AL",
;                    "postalCode": "35805",
;                    "country": "USA",
;                    "dayPhone": "12344",
;                    "emailId": "walmart@walmart.com"
;                  }
;                }
;              ]
;            }
;          }
;        ]
;      }
;    }
;  }

$oJson = ObjCreate("Chilkat.JsonObject")
Local $iOrderLineIndex = 0
Local $iStatusIndex = 0
$oJson.I = $iOrderLineIndex
$oJson.J = $iStatusIndex
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","1")
$oJson.UpdateBool("orderShipment.orderLines.orderLine[i].intentToCancelOverride",False)
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
$oJson.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","UPS")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Standard")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL","http://walmart/tracking/ups?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92345")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId","walmart@walmart.com")

$iOrderLineIndex = $iOrderLineIndex + 1
$iStatusIndex = 0
$oJson.I = $iOrderLineIndex
$oJson.J = $iStatusIndex
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","2")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
$oJson.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","FedEx")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Express")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL","http://walmart/tracking/fedEx?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
$oJson.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId","walmart@walmart.com")

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Response status code: " & $oResp.StatusCode & @CRLF)

$oResp.GetBodyJson($oJson)

;  A sample JSON response:

;  {
;    "order": {
;      "purchaseOrderId": "1234567891234",
;      "customerOrderId": "9876543212345",
;      "sellerOrderId": "13233454564657",
;      "customerEmailId": "customer@walmartlabs.com",
;      "orderDate": 1478284060000,
;      "shippingInfo": {
;        "phone": "6501234567",
;        "estimatedDeliveryDate": 1479798000000,
;        "estimatedShipDate": 1478674800000,
;        "methodCode": "Value",
;        "postalAddress": {
;          "name": "Jane Doe",
;          "address1": "123 Main street",
;          "city": "Sunnyvale",
;          "state": "CA",
;          "postalCode": "94086",
;          "country": "USA",
;          "addressType": "OFFICE"
;        }
;      },
;      "orderLines": {
;        "orderLine": [
;          {
;            "lineNumber": "1",
;            "item": {
;              "productName": "Kenmore CF-1 or 20-86883 Canister Secondary Filter Generic 2 Pack",
;              "sku": "wei-ASSET-675gku675"
;            },
;            "charges": {
;              "charge": [
;                {
;                  "chargeType": "PRODUCT",
;                  "chargeName": "ItemPrice",
;                  "chargeAmount": {
;                    "currency": "USD",
;                    "amount": 555
;                  },
;                  "tax": {
;                    "taxName": "Tax1",
;                    "taxAmount": {
;                      "currency": "USD",
;                      "amount": 48.56
;                    }
;                  }
;                }
;              ]
;            },
;            "orderLineQuantity": {
;              "unitOfMeasurement": "EACH",
;              "amount": "1"
;            },
;            "statusDate": 1478297929000,
;            "orderLineStatuses": {
;              "orderLineStatus": [
;                {
;                  "status": "Shipped",
;                  "statusQuantity": {
;                    "unitOfMeasurement": "EACH",
;                    "amount": "1"
;                  },
;                  "trackingInfo": {
;                    "shipDateTime": 1438163400000,
;                    "carrierName": {
;                      "carrier": "FedEx"
;                    },
;                    "methodCode": "Value",
;                    "trackingNumber": "911001572321619861",
;                    "trackingURL": "http://www.fedex.com/Tracking?action=track=english=us=x=911001572321619861"
;                  },
;                  "returnCenterAddress": {
;                    "name": "ABC",
;                    "address1": "123 Bridge street",
;                    "city": "Huntsville",
;                    "state": "AL",
;                    "postalCode": "35805",
;                    "country": "USA",
;                    "dayPhone": "6501234567",
;                    "emailId": "RCemailaddress@company.com"
;                  }
;                }
;              ]
;            }
;          }
;        ]
;      }
;    }
;  }

$oJson.EmitCompact = False
ConsoleWrite("Response JSON:" & @CRLF)
ConsoleWrite($oJson.Emit() & @CRLF)

;  Insert code here to load the above JSON into the json object.

Local $sLineNumber
Local $sProductName
Local $sSku
Local $sUnitOfMeasurement
Local $sAmount
Local $iStatusDate
Local $iCount_j
Local $sChargeType
Local $sChargeName
Local $sV_Currency
Local $iChargeAmountAmount
Local $sTaxName
Local $sTaxAmountCurrency
Local $sTaxAmountAmount
Local $status
Local $statusQuantityUnitOfMeasurement
Local $statusQuantityAmount
Local $iShipDateTime
Local $sCarrier
Local $sTrackingInfoMethodCode
Local $sTrackingNumber
Local $sTrackingURL
Local $sReturnCenterAddressName
Local $sReturnCenterAddressAddress1
Local $sReturnCenterAddressCity
Local $sReturnCenterAddressState
Local $sReturnCenterAddressPostalCode
Local $sReturnCenterAddressCountry
Local $sDayPhone
Local $sEmailId

Local $sPurchaseOrderId = $oJson.StringOf("order.purchaseOrderId")
Local $sCustomerOrderId = $oJson.StringOf("order.customerOrderId")
Local $sSellerOrderId = $oJson.StringOf("order.sellerOrderId")
Local $sCustomerEmailId = $oJson.StringOf("order.customerEmailId")
Local $iOrderDate = $oJson.IntOf("order.orderDate")
Local $sPhone = $oJson.StringOf("order.shippingInfo.phone")
Local $iEstimatedDeliveryDate = $oJson.IntOf("order.shippingInfo.estimatedDeliveryDate")
Local $iEstimatedShipDate = $oJson.IntOf("order.shippingInfo.estimatedShipDate")
Local $sMethodCode = $oJson.StringOf("order.shippingInfo.methodCode")
Local $sName = $oJson.StringOf("order.shippingInfo.postalAddress.name")
Local $sAddress1 = $oJson.StringOf("order.shippingInfo.postalAddress.address1")
Local $sCity = $oJson.StringOf("order.shippingInfo.postalAddress.city")
Local $sState = $oJson.StringOf("order.shippingInfo.postalAddress.state")
Local $sPostalCode = $oJson.StringOf("order.shippingInfo.postalAddress.postalCode")
Local $sCountry = $oJson.StringOf("order.shippingInfo.postalAddress.country")
Local $sAddressType = $oJson.StringOf("order.shippingInfo.postalAddress.addressType")
Local $i = 0
Local $iJ = 0
Local $iCount_i = $oJson.SizeOfArray("order.orderLines.orderLine")
While $i < $iCount_i
    $oJson.I = $i
    $sLineNumber = $oJson.StringOf("order.orderLines.orderLine[i].lineNumber")
    $sProductName = $oJson.StringOf("order.orderLines.orderLine[i].item.productName")
    $sSku = $oJson.StringOf("order.orderLines.orderLine[i].item.sku")
    $sUnitOfMeasurement = $oJson.StringOf("order.orderLines.orderLine[i].orderLineQuantity.unitOfMeasurement")
    $sAmount = $oJson.StringOf("order.orderLines.orderLine[i].orderLineQuantity.amount")
    $iStatusDate = $oJson.IntOf("order.orderLines.orderLine[i].statusDate")
    $iJ = 0
    $iCount_j = $oJson.SizeOfArray("order.orderLines.orderLine[i].charges.charge")
    While $iJ < $iCount_j
        $oJson.J = $iJ
        $sChargeType = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeType")
        $sChargeName = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeName")
        $sV_Currency = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeAmount.currency")
        $iChargeAmountAmount = $oJson.IntOf("order.orderLines.orderLine[i].charges.charge[j].chargeAmount.amount")
        $sTaxName = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxName")
        $sTaxAmountCurrency = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.currency")
        $sTaxAmountAmount = $oJson.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.amount")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJson.SizeOfArray("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus")
    While $iJ < $iCount_j
        $oJson.J = $iJ
        $status = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status")
        $statusQuantityUnitOfMeasurement = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement")
        $statusQuantityAmount = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount")
        $iShipDateTime = $oJson.IntOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime")
        $sCarrier = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier")
        $sTrackingInfoMethodCode = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode")
        $sTrackingNumber = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber")
        $sTrackingURL = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL")
        $sReturnCenterAddressName = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name")
        $sReturnCenterAddressAddress1 = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1")
        $sReturnCenterAddressCity = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city")
        $sReturnCenterAddressState = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state")
        $sReturnCenterAddressPostalCode = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode")
        $sReturnCenterAddressCountry = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country")
        $sDayPhone = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone")
        $sEmailId = $oJson.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend