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
(Delphi ActiveX) 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
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; success: Integer; json: TChilkatJsonObject; orderLineIndex: Integer; statusIndex: Integer; resp: IChilkatHttpResponse; lineNumber: WideString; ProductName: WideString; Sku: WideString; UnitOfMeasurement: WideString; Amount: WideString; statusDate: Integer; count_j: Integer; chargeType: WideString; chargeName: WideString; v_Currency: WideString; chargeAmountAmount: Integer; TaxName: WideString; TaxAmountCurrency: WideString; TaxAmountAmount: WideString; status: WideString; statusQuantityUnitOfMeasurement: WideString; statusQuantityAmount: WideString; ShipDateTime: Integer; Carrier: WideString; trackingInfoMethodCode: WideString; TrackingNumber: WideString; TrackingURL: WideString; returnCenterAddressName: WideString; returnCenterAddressAddress1: WideString; returnCenterAddressCity: WideString; returnCenterAddressState: WideString; returnCenterAddressPostalCode: WideString; returnCenterAddressCountry: WideString; DayPhone: WideString; EmailId: WideString; PurchaseOrderId: WideString; CustomerOrderId: WideString; SellerOrderId: WideString; CustomerEmailId: WideString; OrderDate: Integer; Phone: WideString; EstimatedDeliveryDate: Integer; EstimatedShipDate: Integer; MethodCode: WideString; Name: WideString; Address1: WideString; City: WideString; State: WideString; PostalCode: WideString; Country: WideString; AddressType: WideString; i: Integer; j: Integer; count_i: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); 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 := TChilkatJsonObject.Create(Self); orderLineIndex := 0; statusIndex := 0; json.I := orderLineIndex; json.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.I := orderLineIndex; json.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 := http.PostJson3('https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping','application/json',json.ControlInterface); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(resp.StatusCode)); resp.GetBodyJson(json.ControlInterface); // 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; Memo1.Lines.Add('Response JSON:'); Memo1.Lines.Add(json.Emit()); // 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 do begin 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'); while j < count_j do begin 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; end; j := 0; count_j := json.SizeOfArray('order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus'); while j < count_j do begin 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; end; i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.