Visual Basic 6.0
Visual Basic 6.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 Visual Basic 6.0 Downloads
Dim success As Long
success = 0
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New ChilkatHttp
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 ChilkatJsonObject
Dim orderLineIndex As Long
orderLineIndex = 0
Dim statusIndex As Long
statusIndex = 0
json.I = orderLineIndex
json.J = statusIndex
success = json.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","1")
success = json.UpdateBool("orderShipment.orderLines.orderLine[i].intentToCancelOverride",0)
success = json.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
success = json.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","UPS")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Standard")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
success = 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")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
success = 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
success = json.UpdateString("orderShipment.orderLines.orderLine[i].lineNumber","2")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].sellerOrderId","92344")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status","Shipped")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement","EACH")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount","1")
success = json.UpdateInt("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime",123)
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier","FedEx")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode","Express")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber","22344")
success = 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")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name","walmart")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1","walmart store 2")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city","Huntsville")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state","AL")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode","35805")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country","USA")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone","12344")
success = json.UpdateString("orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId","walmart@walmart.com")
Dim resp As New ChilkatHttpResponse
success = http.HttpJson("POST","https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping",json,"application/json",resp)
If (success = 0) Then
Debug.Print http.LastErrorText
Exit Sub
End If
Debug.Print "Response status code: " & resp.StatusCode
success = 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 = 0
Debug.Print "Response JSON:"
Debug.Print 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 Long
Dim count_j As Long
Dim chargeType As String
Dim chargeName As String
Dim v_Currency As String
Dim chargeAmountAmount As Long
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 Long
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
PurchaseOrderId = json.StringOf("order.purchaseOrderId")
Dim CustomerOrderId As String
CustomerOrderId = json.StringOf("order.customerOrderId")
Dim SellerOrderId As String
SellerOrderId = json.StringOf("order.sellerOrderId")
Dim CustomerEmailId As String
CustomerEmailId = json.StringOf("order.customerEmailId")
Dim OrderDate As Long
OrderDate = json.IntOf("order.orderDate")
Dim Phone As String
Phone = json.StringOf("order.shippingInfo.phone")
Dim EstimatedDeliveryDate As Long
EstimatedDeliveryDate = json.IntOf("order.shippingInfo.estimatedDeliveryDate")
Dim EstimatedShipDate As Long
EstimatedShipDate = json.IntOf("order.shippingInfo.estimatedShipDate")
Dim MethodCode As String
MethodCode = json.StringOf("order.shippingInfo.methodCode")
Dim Name As String
Name = json.StringOf("order.shippingInfo.postalAddress.name")
Dim Address1 As String
Address1 = json.StringOf("order.shippingInfo.postalAddress.address1")
Dim City As String
City = json.StringOf("order.shippingInfo.postalAddress.city")
Dim State As String
State = json.StringOf("order.shippingInfo.postalAddress.state")
Dim PostalCode As String
PostalCode = json.StringOf("order.shippingInfo.postalAddress.postalCode")
Dim Country As String
Country = json.StringOf("order.shippingInfo.postalAddress.country")
Dim AddressType As String
AddressType = json.StringOf("order.shippingInfo.postalAddress.addressType")
Dim i As Long
i = 0
Dim j As Long
j = 0
Dim count_i As Long
count_i = json.SizeOfArray("order.orderLines.orderLine")
Do 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")
Do 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
Loop
j = 0
count_j = json.SizeOfArray("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus")
Do 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
Loop
i = i + 1
Loop