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
(Tcl) 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
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] CkHttp_SetRequestHeader $http "WM_QOS.CORRELATION_ID" "b3261d2d-028a-4ef7-8602-633c23200af6" CkHttp_SetRequestHeader $http "WM_SEC.ACCESS_TOKEN" "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM....." CkHttp_SetRequestHeader $http "Accept" "application/json" CkHttp_SetRequestHeader $http "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" # } # } # ] # } # } # ] # } # } # } set json [new_CkJsonObject] set orderLineIndex 0 set statusIndex 0 CkJsonObject_put_I $json $orderLineIndex CkJsonObject_put_J $json $statusIndex CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].lineNumber" "1" CkJsonObject_UpdateBool $json "orderShipment.orderLines.orderLine[i].intentToCancelOverride" 0 CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].sellerOrderId" "92344" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status" "Shipped" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement" "EACH" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount" "1" CkJsonObject_UpdateInt $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime" 123 CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier" "UPS" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode" "Standard" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber" "22344" CkJsonObject_UpdateString $json "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" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name" "walmart" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1" "walmart store 2" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city" "Huntsville" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state" "AL" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode" "35805" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country" "USA" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone" "12344" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId" "walmart@walmart.com" set orderLineIndex [expr $orderLineIndex + 1] set statusIndex 0 CkJsonObject_put_I $json $orderLineIndex CkJsonObject_put_J $json $statusIndex CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].lineNumber" "2" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].sellerOrderId" "92344" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status" "Shipped" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement" "EACH" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount" "1" CkJsonObject_UpdateInt $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime" 123 CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier" "FedEx" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode" "Express" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber" "22344" CkJsonObject_UpdateString $json "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" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name" "walmart" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1" "walmart store 2" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city" "Huntsville" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state" "AL" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode" "35805" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country" "USA" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone" "12344" CkJsonObject_UpdateString $json "orderShipment.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId" "walmart@walmart.com" # resp is a CkHttpResponse set resp [CkHttp_PostJson3 $http "https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping" "application/json" $json] if {[CkHttp_get_LastMethodSuccess $http] == 0} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkJsonObject $json exit } puts "Response status code: [CkHttpResponse_get_StatusCode $resp]" CkHttpResponse_GetBodyJson $resp $json delete_CkHttpResponse $resp # 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" # } # } # ] # } # } # ] # } # } # } CkJsonObject_put_EmitCompact $json 0 puts "Response JSON:" puts [CkJsonObject_emit $json] # Insert code here to load the above JSON into the json object. set PurchaseOrderId [CkJsonObject_stringOf $json "order.purchaseOrderId"] set CustomerOrderId [CkJsonObject_stringOf $json "order.customerOrderId"] set SellerOrderId [CkJsonObject_stringOf $json "order.sellerOrderId"] set CustomerEmailId [CkJsonObject_stringOf $json "order.customerEmailId"] set OrderDate [CkJsonObject_IntOf $json "order.orderDate"] set Phone [CkJsonObject_stringOf $json "order.shippingInfo.phone"] set EstimatedDeliveryDate [CkJsonObject_IntOf $json "order.shippingInfo.estimatedDeliveryDate"] set EstimatedShipDate [CkJsonObject_IntOf $json "order.shippingInfo.estimatedShipDate"] set MethodCode [CkJsonObject_stringOf $json "order.shippingInfo.methodCode"] set Name [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.name"] set Address1 [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.address1"] set City [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.city"] set State [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.state"] set PostalCode [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.postalCode"] set Country [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.country"] set AddressType [CkJsonObject_stringOf $json "order.shippingInfo.postalAddress.addressType"] set i 0 set j 0 set count_i [CkJsonObject_SizeOfArray $json "order.orderLines.orderLine"] while {$i < $count_i} { CkJsonObject_put_I $json $i set lineNumber [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].lineNumber"] set ProductName [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].item.productName"] set Sku [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].item.sku"] set UnitOfMeasurement [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineQuantity.unitOfMeasurement"] set Amount [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineQuantity.amount"] set statusDate [CkJsonObject_IntOf $json "order.orderLines.orderLine[i].statusDate"] set j 0 set count_j [CkJsonObject_SizeOfArray $json "order.orderLines.orderLine[i].charges.charge"] while {$j < $count_j} { CkJsonObject_put_J $json $j set chargeType [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].chargeType"] set chargeName [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].chargeName"] set v_Currency [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].chargeAmount.currency"] set chargeAmountAmount [CkJsonObject_IntOf $json "order.orderLines.orderLine[i].charges.charge[j].chargeAmount.amount"] set TaxName [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].tax.taxName"] set TaxAmountCurrency [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.currency"] set TaxAmountAmount [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.amount"] set j [expr $j + 1] } set j 0 set count_j [CkJsonObject_SizeOfArray $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus"] while {$j < $count_j} { CkJsonObject_put_J $json $j set status [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status"] set statusQuantityUnitOfMeasurement [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement"] set statusQuantityAmount [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount"] set ShipDateTime [CkJsonObject_IntOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime"] set Carrier [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier"] set trackingInfoMethodCode [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode"] set TrackingNumber [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber"] set TrackingURL [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL"] set returnCenterAddressName [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name"] set returnCenterAddressAddress1 [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1"] set returnCenterAddressCity [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city"] set returnCenterAddressState [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state"] set returnCenterAddressPostalCode [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode"] set returnCenterAddressCountry [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country"] set DayPhone [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone"] set EmailId [CkJsonObject_stringOf $json "order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId"] set j [expr $j + 1] } set i [expr $i + 1] } delete_CkHttp $http delete_CkJsonObject $json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.