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
(Unicode C) SugarCRM Filtering RecordsExport records and filter.
#include <C_CkRestW.h> #include <C_CkJsonObjectW.h> #include <C_CkStringBuilderW.h> void ChilkatSample(void) { HCkRestW rest; BOOL success; HCkJsonObjectW jsonReq; HCkStringBuilderW sbReq; HCkStringBuilderW sbJson; HCkJsonObjectW json; int next_offset; int i; int count_i; const wchar_t *id; const wchar_t *date_modified; const wchar_t *v_module; rest = CkRestW_Create(); success = CkRestW_Connect(rest,L"your.site.domain",443,TRUE,TRUE); if (success != TRUE) { wprintf(L"%s\n",CkRestW_lastErrorText(rest)); CkRestW_Dispose(rest); return; } CkRestW_AddHeader(rest,L"Cache-Control",L"no-cache"); CkRestW_AddHeader(rest,L"OAuth-Token",L"<access_token>"); // The following code creates the JSON request body. // The JSON created by this code is shown below. jsonReq = CkJsonObjectW_Create(); CkJsonObjectW_UpdateString(jsonReq,L"filter[0].$or[0].name.$starts",L"A"); CkJsonObjectW_UpdateString(jsonReq,L"filter[0].$or[1].name.$starts",L"b"); CkJsonObjectW_UpdateNumber(jsonReq,L"max_num",L"2"); CkJsonObjectW_UpdateNumber(jsonReq,L"offset",L"0"); CkJsonObjectW_UpdateString(jsonReq,L"fields",L"id"); CkJsonObjectW_UpdateString(jsonReq,L"order_by",L"date_entered"); CkJsonObjectW_UpdateBool(jsonReq,L"favorites",FALSE); CkJsonObjectW_UpdateBool(jsonReq,L"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 = CkStringBuilderW_Create(); CkJsonObjectW_EmitSb(jsonReq,sbReq); CkRestW_AddHeader(rest,L"Content-Type",L"application/json"); sbJson = CkStringBuilderW_Create(); success = CkRestW_FullRequestSb(rest,L"POST",L"/rest/v10/Accounts/filter",sbReq,sbJson); if (success != TRUE) { wprintf(L"%s\n",CkRestW_lastErrorText(rest)); CkRestW_Dispose(rest); CkJsonObjectW_Dispose(jsonReq); CkStringBuilderW_Dispose(sbReq); CkStringBuilderW_Dispose(sbJson); return; } if (CkRestW_getResponseStatusCode(rest) != 200) { wprintf(L"Received error response code: %d\n",CkRestW_getResponseStatusCode(rest)); wprintf(L"Response body:\n"); wprintf(L"%s\n",CkStringBuilderW_getAsString(sbJson)); CkRestW_Dispose(rest); CkJsonObjectW_Dispose(jsonReq); CkStringBuilderW_Dispose(sbReq); CkStringBuilderW_Dispose(sbJson); return; } json = CkJsonObjectW_Create(); CkJsonObjectW_LoadSb(json,sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. next_offset = CkJsonObjectW_IntOf(json,L"next_offset"); i = 0; count_i = CkJsonObjectW_SizeOfArray(json,L"records"); while (i < count_i) { CkJsonObjectW_putI(json,i); id = CkJsonObjectW_stringOf(json,L"records[i].id"); date_modified = CkJsonObjectW_stringOf(json,L"records[i].date_modified"); v_module = CkJsonObjectW_stringOf(json,L"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" // } // ] // } wprintf(L"Example Completed.\n"); CkRestW_Dispose(rest); CkJsonObjectW_Dispose(jsonReq); CkStringBuilderW_Dispose(sbReq); CkStringBuilderW_Dispose(sbJson); CkJsonObjectW_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.