Sample code for 30+ languages & platforms
Go

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

Go
    success := false

    http := chilkat.NewHttp()

    // 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.NewJsonObject()
    // 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.SetAuthToken("REPLACE_BEARER_TOKEN")
    http.SetRequestHeader("accept","application/json;charset=utf-8")
    http.SetRequestHeader("X-Datev-Client-ID","DATEV_CLIENT_ID")

    resp := chilkat.NewHttpResponse()
    success = http.HttpParams("GET","https://accounting-clients.api.datev.de/platform-sandbox/v2/clients",queryParams,resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        queryParams.DisposeJsonObject()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println(resp.StatusCode())
    fmt.Println(resp.BodyStr())

    jarr := chilkat.NewJsonArray()

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

    // json is a JsonObject
    var client_number int
    var consultant_number int
    var id *string = new(string)
    var name *string = new(string)
    var j int
    var count_j int
    var k int
    var count_k int
    var strVal *string = new(string)

    i := 0
    count_i := jarr.Size()
    for 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")
        for j < count_j {
            json.SetJ(j)
            name = json.StringOf("services[j].name")
            k = 0
            count_k = json.SizeOfArray("services[j].scopes")
            for k < count_k {
                json.SetK(k)
                strVal = json.StringOf("services[j].scopes[k]")
                k = k + 1
            }

            j = j + 1
        }

        json.DisposeJsonObject()
        i = i + 1
    }


    http.DisposeHttp()
    queryParams.DisposeJsonObject()
    resp.DisposeHttpResponse()
    jarr.DisposeJsonArray()