![]() |
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
(C) Datev - Get a List of ClientsSee more Datev ExamplesDemonstrates how to get a list of clients in the accounting:clients Datev API.Note: This example requires Chilkat v10.1.3 or greater. For more information, see https://developer.datev.de/en/product-detail/accounting-clients/2.0/reference/reference-api-overview/accountingclients/clients-get
#include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkHttpResponse.h> #include <C_CkJsonArray.h> void ChilkatSample(void) { HCkHttp http; BOOL success; HCkJsonObject queryParams; HCkHttpResponse resp; HCkJsonArray jarr; HCkJsonObject json; int client_number; int consultant_number; const char *id; const char *name; int j; int count_j; int k; int count_k; const char *strVal; int i; int count_i; http = CkHttp_Create(); // Implements the following CURL command: // curl --request GET \ // --url "https://accounting-clients.api.datev.de/platform/v2/clients?filter=REPLACE_THIS_VALUE&skip=REPLACE_THIS_VALUE&top=REPLACE_THIS_VALUE" \ // --header "Authorization: Bearer REPLACE_BEARER_TOKEN" \ // --header "X-Datev-Client-ID: clientId" \ // --header "accept: application/json;charset=utf-8" // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code queryParams = CkJsonObject_Create(); // ignore = queryParams.UpdateString("filter","REPLACE_THIS_VALUE"); // ignore = queryParams.UpdateString("skip","REPLACE_THIS_VALUE"); // ignore = queryParams.UpdateString("top","REPLACE_THIS_VALUE"); // Adds the "Authorization: Bearer REPLACE_BEARER_TOKEN" header. CkHttp_putAuthToken(http,"REPLACE_BEARER_TOKEN"); CkHttp_SetRequestHeader(http,"accept","application/json;charset=utf-8"); CkHttp_SetRequestHeader(http,"X-Datev-Client-ID","DATEV_CLIENT_ID"); resp = CkHttp_QuickRequestParams(http,"GET","https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",queryParams); if (CkHttp_getLastMethodSuccess(http) == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(queryParams); return; } printf("%d\n",CkHttpResponse_getStatusCode(resp)); printf("%s\n",CkHttpResponse_bodyStr(resp)); jarr = CkJsonArray_Create(); // Insert code here to load the above JSON array into the jarr object. CkJsonArray_Load(jarr,CkHttpResponse_bodyStr(resp)); CkHttpResponse_Dispose(resp); i = 0; count_i = CkJsonArray_getSize(jarr); while (i < count_i) { json = CkJsonArray_ObjectAt(jarr,i); client_number = CkJsonObject_IntOf(json,"client_number"); consultant_number = CkJsonObject_IntOf(json,"consultant_number"); id = CkJsonObject_stringOf(json,"id"); name = CkJsonObject_stringOf(json,"name"); j = 0; count_j = CkJsonObject_SizeOfArray(json,"services"); while (j < count_j) { CkJsonObject_putJ(json,j); name = CkJsonObject_stringOf(json,"services[j].name"); k = 0; count_k = CkJsonObject_SizeOfArray(json,"services[j].scopes"); while (k < count_k) { CkJsonObject_putK(json,k); strVal = CkJsonObject_stringOf(json,"services[j].scopes[k]"); k = k + 1; } j = j + 1; } CkJsonObject_Dispose(json); i = i + 1; } CkHttp_Dispose(http); CkJsonObject_Dispose(queryParams); CkJsonArray_Dispose(jarr); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.