VB.NET
VB.NET
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 VB.NET Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
http.SetRequestHeader("WM_QOS.CORRELATION_ID","b3261d2d-028a-4ef7-8602-633c23200af6")
http.SetRequestHeader("WM_SEC.ACCESS_TOKEN","eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....")
http.SetRequestHeader("Accept","application/json")
http.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"
' }
' }
' ]
' }
' }
' ]
' }
' }
' }
Dim json As New Chilkat.JsonObject
Dim orderLineIndex As Integer = 0
Dim statusIndex As Integer = 0
json.I = orderLineIndex
json.J = statusIndex
json.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","1")
json.UpdateBool("orderShipment.orderLines.orderLine[i].intentToCancelOverride",False)
json.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
json.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","UPS")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Standard")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
json.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")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId","walmart@walmart.com")
orderLineIndex = orderLineIndex + 1
statusIndex = 0
json.I = orderLineIndex
json.J = statusIndex
json.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","2")
json.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
json.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","FedEx")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Express")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
json.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")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId","walmart@walmart.com")
Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST","https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping",json,"application/json",resp)
If (success = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Debug.WriteLine("Response status code: " & resp.StatusCode)
resp.GetBodyJson(json)
' 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"
' }
' }
' ]
' }
' }
' ]
' }
' }
' }
json.EmitCompact = False
Debug.WriteLine("Response JSON:")
Debug.WriteLine(json.Emit())
' Insert code here to load the above JSON into the json object.
Dim lineNumber As String
Dim ProductName As String
Dim Sku As String
Dim UnitOfMeasurement As String
Dim Amount As String
Dim statusDate As Integer
Dim count_j As Integer
Dim chargeType As String
Dim chargeName As String
Dim v_Currency As String
Dim chargeAmountAmount As Integer
Dim TaxName As String
Dim TaxAmountCurrency As String
Dim TaxAmountAmount As String
Dim status As String
Dim statusQuantityUnitOfMeasurement As String
Dim statusQuantityAmount As String
Dim ShipDateTime As Integer
Dim Carrier As String
Dim trackingInfoMethodCode As String
Dim TrackingNumber As String
Dim TrackingURL As String
Dim returnCenterAddressName As String
Dim returnCenterAddressAddress1 As String
Dim returnCenterAddressCity As String
Dim returnCenterAddressState As String
Dim returnCenterAddressPostalCode As String
Dim returnCenterAddressCountry As String
Dim DayPhone As String
Dim EmailId As String
Dim PurchaseOrderId As String = json.StringOf("order.purchaseOrderId")
Dim CustomerOrderId As String = json.StringOf("order.customerOrderId")
Dim SellerOrderId As String = json.StringOf("order.sellerOrderId")
Dim CustomerEmailId As String = json.StringOf("order.customerEmailId")
Dim OrderDate As Integer = json.IntOf("order.orderDate")
Dim Phone As String = json.StringOf("order.shippingInfo.phone")
Dim EstimatedDeliveryDate As Integer = json.IntOf("order.shippingInfo.estimatedDeliveryDate")
Dim EstimatedShipDate As Integer = json.IntOf("order.shippingInfo.estimatedShipDate")
Dim MethodCode As String = json.StringOf("order.shippingInfo.methodCode")
Dim Name As String = json.StringOf("order.shippingInfo.postalAddress.name")
Dim Address1 As String = json.StringOf("order.shippingInfo.postalAddress.address1")
Dim City As String = json.StringOf("order.shippingInfo.postalAddress.city")
Dim State As String = json.StringOf("order.shippingInfo.postalAddress.state")
Dim PostalCode As String = json.StringOf("order.shippingInfo.postalAddress.postalCode")
Dim Country As String = json.StringOf("order.shippingInfo.postalAddress.country")
Dim AddressType As String = json.StringOf("order.shippingInfo.postalAddress.addressType")
Dim i As Integer = 0
Dim j As Integer = 0
Dim count_i As Integer = json.SizeOfArray("order.orderLines.orderLine")
While i < count_i
json.I = i
lineNumber = json.StringOf("order.orderLines.orderLine[i].lineNumber")
ProductName = json.StringOf("order.orderLines.orderLine[i].item.productName")
Sku = json.StringOf("order.orderLines.orderLine[i].item.sku")
UnitOfMeasurement = json.StringOf("order.orderLines.orderLine[i].orderLineQuantity.unitOfMeasurement")
Amount = json.StringOf("order.orderLines.orderLine[i].orderLineQuantity.amount")
statusDate = json.IntOf("order.orderLines.orderLine[i].statusDate")
j = 0
count_j = json.SizeOfArray("order.orderLines.orderLine[i].charges.charge")
While j < count_j
json.J = j
chargeType = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeType")
chargeName = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeName")
v_Currency = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].chargeAmount.currency")
chargeAmountAmount = json.IntOf("order.orderLines.orderLine[i].charges.charge[j].chargeAmount.amount")
TaxName = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxName")
TaxAmountCurrency = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.currency")
TaxAmountAmount = json.StringOf("order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.amount")
j = j + 1
End While
j = 0
count_j = json.SizeOfArray("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus")
While j < count_j
json.J = j
status = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status")
statusQuantityUnitOfMeasurement = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement")
statusQuantityAmount = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount")
ShipDateTime = json.IntOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime")
Carrier = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier")
trackingInfoMethodCode = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode")
TrackingNumber = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber")
TrackingURL = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL")
returnCenterAddressName = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name")
returnCenterAddressAddress1 = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1")
returnCenterAddressCity = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city")
returnCenterAddressState = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state")
returnCenterAddressPostalCode = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode")
returnCenterAddressCountry = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country")
DayPhone = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone")
EmailId = json.StringOf("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId")
j = j + 1
End While
i = i + 1
End While