Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim http As New Chilkat.Http

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

Dim queryParams As New Chilkat.JsonObject
// 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","application/json;charset=utf-8"
http.SetRequestHeader "X-Datev-Client-ID","DATEV_CLIENT_ID"

Dim resp As New Chilkat.HttpResponse
success = http.HttpParams("GET","https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",queryParams,resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

System.DebugLog(Str(resp.StatusCode))
System.DebugLog(resp.BodyStr)

Dim jarr As New Chilkat.JsonArray

// Insert code here to load the above JSON array into the jarr object.
success = jarr.Load(resp.BodyStr)

Dim json As Chilkat.JsonObject
Dim client_number As Int32
Dim consultant_number As Int32
Dim id As String
Dim name As String
Dim j As Int32
Dim count_j As Int32
Dim k As Int32
Dim count_k As Int32
Dim strVal As String

Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jarr.Size
While i < count_i
    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.J = j
        name = json.StringOf("services[j].name")
        k = 0
        count_k = json.SizeOfArray("services[j].scopes")
        While k < count_k
            json.K = k
            strVal = json.StringOf("services[j].scopes[k]")
            k = k + 1
        Wend
        j = j + 1
    Wend

    i = i + 1
Wend