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
(C) SugarCRM Filtering RecordsExport records and filter.
#include <C_CkRest.h> #include <C_CkJsonObject.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkRest rest; BOOL success; HCkJsonObject jsonReq; HCkStringBuilder sbReq; HCkStringBuilder sbJson; HCkJsonObject json; int next_offset; int i; int count_i; const char *id; const char *date_modified; const char *v_module; rest = CkRest_Create(); success = CkRest_Connect(rest,"your.site.domain",443,TRUE,TRUE); if (success != TRUE) { printf("%s\n",CkRest_lastErrorText(rest)); CkRest_Dispose(rest); return; } 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) { printf("%s\n",CkRest_lastErrorText(rest)); CkRest_Dispose(rest); CkJsonObject_Dispose(jsonReq); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbJson); return; } if (CkRest_getResponseStatusCode(rest) != 200) { printf("Received error response code: %d\n",CkRest_getResponseStatusCode(rest)); printf("Response body:\n"); printf("%s\n",CkStringBuilder_getAsString(sbJson)); CkRest_Dispose(rest); CkJsonObject_Dispose(jsonReq); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbJson); return; } 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) { 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; } // 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" // } // ] // } printf("Example Completed.\n"); CkRest_Dispose(rest); CkJsonObject_Dispose(jsonReq); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbJson); CkJsonObject_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.