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
(Ruby) 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
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() 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" # } # } # ] # } # } # ] # } # } # } json = Chilkat::CkJsonObject.new() orderLineIndex = 0 statusIndex = 0 json.put_I(orderLineIndex) json.put_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.put_I(orderLineIndex) json.put_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") # resp is a CkHttpResponse resp = http.PostJson3("https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping","application/json",json) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end print "Response status code: " + resp.get_StatusCode().to_s() + "\n"; 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.put_EmitCompact(false) print "Response JSON:" + "\n"; print json.emit() + "\n"; # Insert code here to load the above JSON into the json object. PurchaseOrderId = json.stringOf("order.purchaseOrderId") CustomerOrderId = json.stringOf("order.customerOrderId") SellerOrderId = json.stringOf("order.sellerOrderId") CustomerEmailId = json.stringOf("order.customerEmailId") OrderDate = json.IntOf("order.orderDate") Phone = json.stringOf("order.shippingInfo.phone") EstimatedDeliveryDate = json.IntOf("order.shippingInfo.estimatedDeliveryDate") EstimatedShipDate = json.IntOf("order.shippingInfo.estimatedShipDate") MethodCode = json.stringOf("order.shippingInfo.methodCode") Name = json.stringOf("order.shippingInfo.postalAddress.name") Address1 = json.stringOf("order.shippingInfo.postalAddress.address1") City = json.stringOf("order.shippingInfo.postalAddress.city") State = json.stringOf("order.shippingInfo.postalAddress.state") PostalCode = json.stringOf("order.shippingInfo.postalAddress.postalCode") Country = json.stringOf("order.shippingInfo.postalAddress.country") AddressType = json.stringOf("order.shippingInfo.postalAddress.addressType") i = 0 j = 0 count_i = json.SizeOfArray("order.orderLines.orderLine") while i < count_i json.put_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.put_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 j = 0 count_j = json.SizeOfArray("order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus") while j < count_j json.put_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 i = i + 1 end |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.