Sample code for 30+ languages & platforms
Objective-C

Datev - Get a List of Clients

See more Datev Examples

Demonstrates how to get a list of clients in the accounting:clients Datev API.

Chilkat Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
#import <CkoJsonArray.h>
#import <NSString.h>

BOOL success = NO;

CkoHttp *http = [[CkoHttp alloc] init];

// 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

CkoJsonObject *queryParams = [[CkoJsonObject alloc] init];
// 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.
http.AuthToken = @"REPLACE_BEARER_TOKEN";
[http SetRequestHeader: @"accept" value: @"application/json;charset=utf-8"];
[http SetRequestHeader: @"X-Datev-Client-ID" value: @"DATEV_CLIENT_ID"];

CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpParams: @"GET" url: @"https://accounting-clients.api.datev.de/platform-sandbox/v2/clients" json: queryParams response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%d",[resp.StatusCode intValue]);
NSLog(@"%@",resp.BodyStr);

CkoJsonArray *jarr = [[CkoJsonArray alloc] init];

// Insert code here to load the above JSON array into the jarr object.
[jarr Load: resp.BodyStr];

CkoJsonObject *json = 0;
int client_number;
int consultant_number;
NSString *id = 0;
NSString *name = 0;
int j;
int count_j;
int k;
int count_k;
NSString *strVal = 0;

int i = 0;
int count_i = [jarr.Size intValue];
while (i < count_i) {
    json = [jarr ObjectAt: [NSNumber numberWithInt: i]];
    client_number = [[json IntOf: @"client_number"] intValue];
    consultant_number = [[json IntOf: @"consultant_number"] intValue];
    id = [json StringOf: @"id"];
    name = [json StringOf: @"name"];
    j = 0;
    count_j = [[json SizeOfArray: @"services"] intValue];
    while (j < count_j) {
        json.J = [NSNumber numberWithInt: j];
        name = [json StringOf: @"services[j].name"];
        k = 0;
        count_k = [[json SizeOfArray: @"services[j].scopes"] intValue];
        while (k < count_k) {
            json.K = [NSNumber numberWithInt: k];
            strVal = [json StringOf: @"services[j].scopes[k]"];
            k = k + 1;
        }

        j = j + 1;
    }

    i = i + 1;
}