Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

loHttp = createobject("CkHttp")

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

loQueryParams = createobject("CkJsonObject")
// 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.
loHttp.AuthToken = "REPLACE_BEARER_TOKEN"
loHttp.SetRequestHeader("accept","application/json;charset=utf-8")
loHttp.SetRequestHeader("X-Datev-Client-ID","DATEV_CLIENT_ID")

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpParams("GET","https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",loQueryParams,loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loQueryParams
    release loResp
    return
endif

? str(loResp.StatusCode)
? loResp.BodyStr

loJarr = createobject("CkJsonArray")

// Insert code here to load the above JSON array into the jarr object.
loJarr.Load(loResp.BodyStr)

i = 0
lnCount_i = loJarr.Size
do while i < lnCount_i
    loJson = loJarr.ObjectAt(i)
    lnClient_number = loJson.IntOf("client_number")
    lnConsultant_number = loJson.IntOf("consultant_number")
    lcId = loJson.StringOf("id")
    lcName = loJson.StringOf("name")
    j = 0
    lnCount_j = loJson.SizeOfArray("services")
    do while j < lnCount_j
        loJson.J = j
        lcName = loJson.StringOf("services[j].name")
        k = 0
        lnCount_k = loJson.SizeOfArray("services[j].scopes")
        do while k < lnCount_k
            loJson.K = k
            lcStrVal = loJson.StringOf("services[j].scopes[k]")
            k = k + 1
        enddo
        j = j + 1
    enddo
    release loJson
    i = i + 1
enddo


release loHttp
release loQueryParams
release loResp
release loJarr