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 DLL) 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, Http, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; success: Boolean; json: HCkJsonObject; orderLineIndex: Integer; statusIndex: Integer; resp: HCkHttpResponse; lineNumber: PWideChar; ProductName: PWideChar; Sku: PWideChar; UnitOfMeasurement: PWideChar; Amount: PWideChar; statusDate: Integer; count_j: Integer; chargeType: PWideChar; chargeName: PWideChar; v_Currency: PWideChar; chargeAmountAmount: Integer; TaxName: PWideChar; TaxAmountCurrency: PWideChar; TaxAmountAmount: PWideChar; status: PWideChar; statusQuantityUnitOfMeasurement: PWideChar; statusQuantityAmount: PWideChar; ShipDateTime: Integer; Carrier: PWideChar; trackingInfoMethodCode: PWideChar; TrackingNumber: PWideChar; TrackingURL: PWideChar; returnCenterAddressName: PWideChar; returnCenterAddressAddress1: PWideChar; returnCenterAddressCity: PWideChar; returnCenterAddressState: PWideChar; returnCenterAddressPostalCode: PWideChar; returnCenterAddressCountry: PWideChar; DayPhone: PWideChar; EmailId: PWideChar; PurchaseOrderId: PWideChar; CustomerOrderId: PWideChar; SellerOrderId: PWideChar; CustomerEmailId: PWideChar; OrderDate: Integer; Phone: PWideChar; EstimatedDeliveryDate: Integer; EstimatedShipDate: Integer; MethodCode: PWideChar; Name: PWideChar; Address1: PWideChar; City: PWideChar; State: PWideChar; PostalCode: PWideChar; Country: PWideChar; AddressType: PWideChar; 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 := CkHttp_Create(); 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" // } // } // ] // } // } // ] // } // } // } json := CkJsonObject_Create(); orderLineIndex := 0; statusIndex := 0; CkJsonObject_putI(json,orderLineIndex); CkJsonObject_putJ(json,statusIndex); CkJsonObject_UpdateString(json,'orderShipment.orderLines.orderLine[i].lineNumber','1'); CkJsonObject_UpdateBool(json,'orderShipment.orderLines.orderLine[i].intentToCancelOverride',False); 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'); orderLineIndex := orderLineIndex + 1; statusIndex := 0; CkJsonObject_putI(json,orderLineIndex); CkJsonObject_putJ(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 := CkHttp_PostJson3(http,'https://api-gateway.walmart.com/v3/orders/{purchaseOrderId}/shipping','application/json',json); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response status code: ' + IntToStr(CkHttpResponse_getStatusCode(resp))); CkHttpResponse_GetBodyJson(resp,json); CkHttpResponse_Dispose(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_putEmitCompact(json,False); Memo1.Lines.Add('Response JSON:'); Memo1.Lines.Add(CkJsonObject__emit(json)); // Insert code here to load the above JSON into the json object. PurchaseOrderId := CkJsonObject__stringOf(json,'order.purchaseOrderId'); CustomerOrderId := CkJsonObject__stringOf(json,'order.customerOrderId'); SellerOrderId := CkJsonObject__stringOf(json,'order.sellerOrderId'); CustomerEmailId := CkJsonObject__stringOf(json,'order.customerEmailId'); OrderDate := CkJsonObject_IntOf(json,'order.orderDate'); Phone := CkJsonObject__stringOf(json,'order.shippingInfo.phone'); EstimatedDeliveryDate := CkJsonObject_IntOf(json,'order.shippingInfo.estimatedDeliveryDate'); EstimatedShipDate := CkJsonObject_IntOf(json,'order.shippingInfo.estimatedShipDate'); MethodCode := CkJsonObject__stringOf(json,'order.shippingInfo.methodCode'); Name := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.name'); Address1 := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.address1'); City := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.city'); State := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.state'); PostalCode := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.postalCode'); Country := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.country'); AddressType := CkJsonObject__stringOf(json,'order.shippingInfo.postalAddress.addressType'); i := 0; j := 0; count_i := CkJsonObject_SizeOfArray(json,'order.orderLines.orderLine'); while i < count_i do begin CkJsonObject_putI(json,i); lineNumber := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].lineNumber'); ProductName := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].item.productName'); Sku := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].item.sku'); UnitOfMeasurement := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineQuantity.unitOfMeasurement'); Amount := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineQuantity.amount'); statusDate := CkJsonObject_IntOf(json,'order.orderLines.orderLine[i].statusDate'); j := 0; count_j := CkJsonObject_SizeOfArray(json,'order.orderLines.orderLine[i].charges.charge'); while j < count_j do begin CkJsonObject_putJ(json,j); chargeType := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].chargeType'); chargeName := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].chargeName'); v_Currency := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].chargeAmount.currency'); chargeAmountAmount := CkJsonObject_IntOf(json,'order.orderLines.orderLine[i].charges.charge[j].chargeAmount.amount'); TaxName := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].tax.taxName'); TaxAmountCurrency := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.currency'); TaxAmountAmount := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].charges.charge[j].tax.taxAmount.amount'); j := j + 1; end; j := 0; count_j := CkJsonObject_SizeOfArray(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus'); while j < count_j do begin CkJsonObject_putJ(json,j); status := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].status'); statusQuantityUnitOfMeasurement := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.unitOfMeasurement'); statusQuantityAmount := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].statusQuantity.amount'); ShipDateTime := CkJsonObject_IntOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.shipDateTime'); Carrier := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.carrierName.carrier'); trackingInfoMethodCode := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.methodCode'); TrackingNumber := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingNumber'); TrackingURL := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].trackingInfo.trackingURL'); returnCenterAddressName := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.name'); returnCenterAddressAddress1 := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.address1'); returnCenterAddressCity := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.city'); returnCenterAddressState := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.state'); returnCenterAddressPostalCode := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.postalCode'); returnCenterAddressCountry := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.country'); DayPhone := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.dayPhone'); EmailId := CkJsonObject__stringOf(json,'order.orderLines.orderLine[i].orderLineStatuses.orderLineStatus[j].returnCenterAddress.emailId'); j := j + 1; end; i := i + 1; end; CkHttp_Dispose(http); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.