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
(Perl) 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
use 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",0); $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 HttpResponse $resp = $http->PostJson3("https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping","application/json",$json); if ($http->get_LastMethodSuccess() == 0) { print $http->lastErrorText() . "\r\n"; exit; } print "Response status code: " . $resp->get_StatusCode() . "\r\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(0); print "Response JSON:" . "\r\n"; print $json->emit() . "\r\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; } $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; } $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.