![]() |
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
(Unicode 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_CkHttpW.h> #include <C_CkJsonObjectW.h> #include <C_CkHttpResponseW.h> #include <C_CkJsonArrayW.h> void ChilkatSample(void) { HCkHttpW http; BOOL success; HCkJsonObjectW queryParams; HCkHttpResponseW resp; HCkJsonArrayW jarr; HCkJsonObjectW json; int client_number; int consultant_number; const wchar_t *id; const wchar_t *name; int j; int count_j; int k; int count_k; const wchar_t *strVal; int i; int count_i; http = CkHttpW_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 = CkJsonObjectW_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. CkHttpW_putAuthToken(http,L"REPLACE_BEARER_TOKEN"); CkHttpW_SetRequestHeader(http,L"accept",L"application/json;charset=utf-8"); CkHttpW_SetRequestHeader(http,L"X-Datev-Client-ID",L"DATEV_CLIENT_ID"); resp = CkHttpW_QuickRequestParams(http,L"GET",L"https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",queryParams); if (CkHttpW_getLastMethodSuccess(http) == FALSE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(queryParams); return; } wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp)); wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp)); jarr = CkJsonArrayW_Create(); // Insert code here to load the above JSON array into the jarr object. CkJsonArrayW_Load(jarr,CkHttpResponseW_bodyStr(resp)); CkHttpResponseW_Dispose(resp); i = 0; count_i = CkJsonArrayW_getSize(jarr); while (i < count_i) { json = CkJsonArrayW_ObjectAt(jarr,i); client_number = CkJsonObjectW_IntOf(json,L"client_number"); consultant_number = CkJsonObjectW_IntOf(json,L"consultant_number"); id = CkJsonObjectW_stringOf(json,L"id"); name = CkJsonObjectW_stringOf(json,L"name"); j = 0; count_j = CkJsonObjectW_SizeOfArray(json,L"services"); while (j < count_j) { CkJsonObjectW_putJ(json,j); name = CkJsonObjectW_stringOf(json,L"services[j].name"); k = 0; count_k = CkJsonObjectW_SizeOfArray(json,L"services[j].scopes"); while (k < count_k) { CkJsonObjectW_putK(json,k); strVal = CkJsonObjectW_stringOf(json,L"services[j].scopes[k]"); k = k + 1; } j = j + 1; } CkJsonObjectW_Dispose(json); i = i + 1; } CkHttpW_Dispose(http); CkJsonObjectW_Dispose(queryParams); CkJsonArrayW_Dispose(jarr); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.