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) SugarCRM Filtering RecordsExport records and filter.
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 rest: TChilkatRest; success: Integer; jsonReq: TChilkatJsonObject; sbReq: TChilkatStringBuilder; sbJson: TChilkatStringBuilder; json: TChilkatJsonObject; next_offset: Integer; i: Integer; count_i: Integer; id: WideString; date_modified: WideString; v_module: WideString; begin rest := TChilkatRest.Create(Self); success := rest.Connect('your.site.domain',443,1,1); if (success <> 1) then begin Memo1.Lines.Add(rest.LastErrorText); Exit; end; rest.AddHeader('Cache-Control','no-cache'); rest.AddHeader('OAuth-Token','<access_token>'); // The following code creates the JSON request body. // The JSON created by this code is shown below. jsonReq := TChilkatJsonObject.Create(Self); jsonReq.UpdateString('filter[0].$or[0].name.$starts','A'); jsonReq.UpdateString('filter[0].$or[1].name.$starts','b'); jsonReq.UpdateNumber('max_num','2'); jsonReq.UpdateNumber('offset','0'); jsonReq.UpdateString('fields','id'); jsonReq.UpdateString('order_by','date_entered'); jsonReq.UpdateBool('favorites',0); jsonReq.UpdateBool('my_items',0); // The JSON request body created by the above code: // { // "filter": [ // { // "$or": [ // { // "name": { // "$starts": "A" // } // }, // { // "name": { // "$starts": "b" // } // } // ] // } // ], // "max_num": 2, // "offset": 0, // "fields": "id", // "order_by": "date_entered", // "favorites": false, // "my_items": false // } sbReq := TChilkatStringBuilder.Create(Self); jsonReq.EmitSb(sbReq.ControlInterface); rest.AddHeader('Content-Type','application/json'); sbJson := TChilkatStringBuilder.Create(Self); success := rest.FullRequestSb('POST','/rest/v10/Accounts/filter',sbReq.ControlInterface,sbJson.ControlInterface); if (success <> 1) then begin Memo1.Lines.Add(rest.LastErrorText); Exit; end; if (rest.ResponseStatusCode <> 200) then begin Memo1.Lines.Add('Received error response code: ' + IntToStr(rest.ResponseStatusCode)); Memo1.Lines.Add('Response body:'); Memo1.Lines.Add(sbJson.GetAsString()); Exit; end; json := TChilkatJsonObject.Create(Self); json.LoadSb(sbJson.ControlInterface); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. next_offset := json.IntOf('next_offset'); i := 0; count_i := json.SizeOfArray('records'); while i < count_i do begin json.I := i; id := json.StringOf('records[i].id'); date_modified := json.StringOf('records[i].date_modified'); v_module := json.StringOf('records[i]._module'); i := i + 1; end; // A sample JSON response body that is parsed by the above code: // { // "next_offset": 2, // "records": [ // { // "id": "f16760a4-3a52-f77d-1522-5703ca28925f", // "date_modified": "2016-04-05T10:23:28-04:00", // "_acl": { // "fields": {} // }, // "_module": "Accounts" // }, // { // "id": "ec409fbb-2b22-4f32-7fa1-5703caf78dc3", // "date_modified": "2016-04-05T10:23:28-04:00", // "_acl": { // "fields": {} // }, // "_module": "Accounts" // } // ] // } Memo1.Lines.Add('Example Completed.'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.