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) Ecwid - Create OrderSee more Ecwid ExamplesCreate a new order in an Ecwid store. This can be useful for storefronts with a custom checkout process or manually creating orders for sales made earlier. For more information, see https://api-docs.ecwid.com/reference/orders#create-an-order
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 jsonToken: TChilkatJsonObject; sbUrl: TChilkatStringBuilder; http: TChilkatHttp; json: TChilkatJsonObject; resp: IChilkatHttpResponse; sbResponseBody: TChilkatStringBuilder; jResp: TChilkatJsonObject; id: Integer; orderid: WideString; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Create and send the following HTTP request: // Load the access token previously obtained in Ecwid Get Access Token jsonToken := TChilkatJsonObject.Create(Self); jsonToken.LoadFile('qa_data/tokens/ecwid.json'); sbUrl := TChilkatStringBuilder.Create(Self); sbUrl.Append('https://app.ecwid.com/api/v3/4870020/orders?token='); sbUrl.Append(jsonToken.StringOf('access_token')); // POST /api/v3/4870020/orders?token=1234567890qwqeertt HTTP/1.1 // Host: app.ecwid.com // Content-Type: application/json;charset=utf-8 // Cache-Control: no-cache // // { // "subtotal": 30, // "total": 40, // "email": "example@example.com", // "paymentMethod": "Phone order", // "tax": 0, // "paymentStatus": "PAID", // "customerTaxExempt": false, // "customerTaxId": "", // "customerTaxIdValid": false, // "reversedTaxApplied": false, // "fulfillmentStatus": "AWAITING_PROCESSING", // "createDate": "2015-09-20 19:59:43 +0000", // "items": [ // { // "price": 15, // "weight": 0.32, // "sku": "00004", // "quantity": 2, // "name": "Cherry" // } // ], // "billingPerson": { // "name": "Eugene K", // "companyName": "Hedgehog and Bucket", // "street": "My Street", // "city": "San Diego", // "countryCode": "US", // "postalCode": "90002", // "stateOrProvinceCode": "CA", // "phone": "123141321" // }, // "shippingPerson": { // "name": "Eugene K", // "companyName": "Hedgehog and Bucket", // "street": "My Street", // "city": "San Diego", // "countryCode": "US", // "postalCode": "90002", // "stateOrProvinceCode": "CA", // "phone": "123141321" // }, // "shippingOption": { // "shippingMethodName": "Fast Delivery", // "shippingRate": 10, // "isPickup": false, // "fulfilmentType": "DELIVERY" // }, // "hidden": false, // "privateAdminNotes": "Must be delivered till Sunday.", // "acceptMarketing": false, // "disableAllCustomerNotifications": true, // "externalFulfillment": true, // "externalOrderId": "2", // "pricesIncludeTax": false // } http := TChilkatHttp.Create(Self); http.SetRequestHeader('Cache-Control','no-cache'); json := TChilkatJsonObject.Create(Self); json.UpdateInt('subtotal',30); json.UpdateInt('total',40); json.UpdateString('email','example@example.com'); json.UpdateString('paymentMethod','Phone order'); json.UpdateInt('tax',0); json.UpdateString('paymentStatus','PAID'); json.UpdateBool('customerTaxExempt',0); json.UpdateString('customerTaxId',''); json.UpdateBool('customerTaxIdValid',0); json.UpdateBool('reversedTaxApplied',0); json.UpdateString('fulfillmentStatus','AWAITING_PROCESSING'); json.UpdateString('createDate','2015-09-20 19:59:43 +0000'); json.UpdateInt('items[0].price',15); json.UpdateNumber('items[0].weight','0.32'); json.UpdateString('items[0].sku','00004'); json.UpdateInt('items[0].quantity',2); json.UpdateString('items[0].name','Cherry'); json.UpdateString('billingPerson.name','Eugene K'); json.UpdateString('billingPerson.companyName','Hedgehog and Bucket'); json.UpdateString('billingPerson.street','My Street'); json.UpdateString('billingPerson.city','San Diego'); json.UpdateString('billingPerson.countryCode','US'); json.UpdateString('billingPerson.postalCode','90002'); json.UpdateString('billingPerson.stateOrProvinceCode','CA'); json.UpdateString('billingPerson.phone','123141321'); json.UpdateString('shippingPerson.name','Eugene K'); json.UpdateString('shippingPerson.companyName','Hedgehog and Bucket'); json.UpdateString('shippingPerson.street','My Street'); json.UpdateString('shippingPerson.city','San Diego'); json.UpdateString('shippingPerson.countryCode','US'); json.UpdateString('shippingPerson.postalCode','90002'); json.UpdateString('shippingPerson.stateOrProvinceCode','CA'); json.UpdateString('shippingPerson.phone','123141321'); json.UpdateString('shippingOption.shippingMethodName','Fast Delivery'); json.UpdateInt('shippingOption.shippingRate',10); json.UpdateBool('shippingOption.isPickup',0); json.UpdateString('shippingOption.fulfilmentType','DELIVERY'); json.UpdateBool('hidden',0); json.UpdateString('privateAdminNotes','Must be delivered till Sunday.'); json.UpdateBool('acceptMarketing',0); json.UpdateBool('disableAllCustomerNotifications',1); json.UpdateBool('externalFulfillment',1); json.UpdateString('externalOrderId','2'); json.UpdateBool('pricesIncludeTax',0); resp := http.PostJson3(sbUrl.GetAsString(),'application/json',json.ControlInterface); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add('Response status code = ' + IntToStr(resp.StatusCode)); sbResponseBody := TChilkatStringBuilder.Create(Self); resp.GetBodySb(sbResponseBody.ControlInterface); jResp := TChilkatJsonObject.Create(Self); jResp.LoadSb(sbResponseBody.ControlInterface); jResp.EmitCompact := 0; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(jResp.Emit()); // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "id": 20, // "orderid": "XJ12H" // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON id := jResp.IntOf('id'); orderid := jResp.StringOf('orderid'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.