Sample code for 30+ languages & platforms
Perl

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 Perl Downloads

Perl
use chilkat();

$success = 0;

$http = chilkat::CkHttp->new();

# 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 = chilkat::CkJsonObject->new();
# 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->put_AuthToken("REPLACE_BEARER_TOKEN");
$http->SetRequestHeader("accept","application/json;charset=utf-8");
$http->SetRequestHeader("X-Datev-Client-ID","DATEV_CLIENT_ID");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpParams("GET","https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",$queryParams,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print $resp->get_StatusCode() . "\r\n";
print $resp->bodyStr() . "\r\n";

$jarr = chilkat::CkJsonArray->new();

# Insert code here to load the above JSON array into the jarr object.
$jarr->Load($resp->bodyStr());

$i = 0;
$count_i = $jarr->get_Size();
while ($i < $count_i) {
    # json is a JsonObject
    $json = $jarr->ObjectAt($i);
    $client_number = $json->IntOf("client_number");
    $consultant_number = $json->IntOf("consultant_number");
    $id = $json->stringOf("id");
    $name = $json->stringOf("name");
    $j = 0;
    $count_j = $json->SizeOfArray("services");
    while ($j < $count_j) {
        $json->put_J($j);
        $name = $json->stringOf("services[j].name");
        $k = 0;
        $count_k = $json->SizeOfArray("services[j].scopes");
        while ($k < $count_k) {
            $json->put_K($k);
            $strVal = $json->stringOf("services[j].scopes[k]");
            $k = $k + 1;
        }

        $j = $j + 1;
    }

    $i = $i + 1;
}