Sample code for 30+ languages & platforms
Swift

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

Swift

func chilkatTest() {
    var success: Bool = false

    let http = CkoHttp()!

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

    let queryParams = CkoJsonObject()!
    // 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(name: "accept", value: "application/json;charset=utf-8")
    http.setRequestHeader(name: "X-Datev-Client-ID", value: "DATEV_CLIENT_ID")

    let resp = CkoHttpResponse()!
    success = http.httpParams(verb: "GET", url: "https://accounting-clients.api.datev.de/platform-sandbox/v2/clients", json: queryParams, response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    print("\(resp.statusCode.intValue)")
    print("\(resp.bodyStr!)")

    let jarr = CkoJsonArray()!

    // Insert code here to load the above JSON array into the jarr object.
    jarr.load(jsonArray: resp.bodyStr)

    var json: CkoJsonObject?
    var client_number: Int
    var consultant_number: Int
    var id: String?
    var name: String?
    var j: Int
    var count_j: Int
    var k: Int
    var count_k: Int
    var strVal: String?

    var i: Int = 0
    var count_i: Int = jarr.size.intValue
    while i < count_i {
        json = jarr.object(at: i)
        client_number = json!.int(of: "client_number").intValue
        consultant_number = json!.int(of: "consultant_number").intValue
        id = json!.string(of: "id")
        name = json!.string(of: "name")
        j = 0
        count_j = json!.size(ofArray: "services").intValue
        while j < count_j {
            json.j = j
            name = json!.string(of: "services[j].name")
            k = 0
            count_k = json!.size(ofArray: "services[j].scopes").intValue
            while k < count_k {
                json.k = k
                strVal = json!.string(of: "services[j].scopes[k]")
                k = k + 1
            }

            j = j + 1
        }

        json = nil
        i = i + 1
    }


}