|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Delphi DLL) 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, StringBuilder, Rest, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var rest: HCkRest; success: Boolean; jsonReq: HCkJsonObject; sbReq: HCkStringBuilder; sbJson: HCkStringBuilder; json: HCkJsonObject; next_offset: Integer; i: Integer; count_i: Integer; id: PWideChar; date_modified: PWideChar; v_module: PWideChar; begin rest := CkRest_Create(); success := CkRest_Connect(rest,'your.site.domain',443,True,True); if (success <> True) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; CkRest_AddHeader(rest,'Cache-Control','no-cache'); CkRest_AddHeader(rest,'OAuth-Token','<access_token>'); // The following code creates the JSON request body. // The JSON created by this code is shown below. jsonReq := CkJsonObject_Create(); CkJsonObject_UpdateString(jsonReq,'filter[0].$or[0].name.$starts','A'); CkJsonObject_UpdateString(jsonReq,'filter[0].$or[1].name.$starts','b'); CkJsonObject_UpdateNumber(jsonReq,'max_num','2'); CkJsonObject_UpdateNumber(jsonReq,'offset','0'); CkJsonObject_UpdateString(jsonReq,'fields','id'); CkJsonObject_UpdateString(jsonReq,'order_by','date_entered'); CkJsonObject_UpdateBool(jsonReq,'favorites',False); CkJsonObject_UpdateBool(jsonReq,'my_items',False); // 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 := CkStringBuilder_Create(); CkJsonObject_EmitSb(jsonReq,sbReq); CkRest_AddHeader(rest,'Content-Type','application/json'); sbJson := CkStringBuilder_Create(); success := CkRest_FullRequestSb(rest,'POST','/rest/v10/Accounts/filter',sbReq,sbJson); if (success <> True) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; if (CkRest_getResponseStatusCode(rest) <> 200) then begin Memo1.Lines.Add('Received error response code: ' + IntToStr(CkRest_getResponseStatusCode(rest))); Memo1.Lines.Add('Response body:'); Memo1.Lines.Add(CkStringBuilder__getAsString(sbJson)); Exit; end; json := CkJsonObject_Create(); CkJsonObject_LoadSb(json,sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. next_offset := CkJsonObject_IntOf(json,'next_offset'); i := 0; count_i := CkJsonObject_SizeOfArray(json,'records'); while i < count_i do begin CkJsonObject_putI(json,i); id := CkJsonObject__stringOf(json,'records[i].id'); date_modified := CkJsonObject__stringOf(json,'records[i].date_modified'); v_module := CkJsonObject__stringOf(json,'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.'); CkRest_Dispose(rest); CkJsonObject_Dispose(jsonReq); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbJson); CkJsonObject_Dispose(json); end; | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.