Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual Basic 6.0) Walmart v3 Ship Order LinesSee more Walmart v3 ExamplesUpdates 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. For more information, see https://developer.walmart.com/api/us/mp/orders#operation/shippingUpdates
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As New ChilkatHttp Dim success As Long 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 ChilkatHttpResponse Set resp = http.PostJson3("https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping","application/json",json) If (http.LastMethodSuccess = 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 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.