DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Variant vQueryParams
Handle hoQueryParams
Variant vResp
Handle hoResp
Handle hoJarr
Variant vJson
Handle hoJson
Integer iClient_number
Integer iConsultant_number
String sId
String sName
Integer j
Integer iCount_j
Integer k
Integer iCount_k
String sStrVal
Integer i
Integer iCount_i
String sTemp1
Integer iTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// 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
Get Create (RefClass(cComChilkatJsonObject)) To hoQueryParams
If (Not(IsComObjectCreated(hoQueryParams))) Begin
Send CreateComObject of hoQueryParams
End
// 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.
Set ComAuthToken Of hoHttp To "REPLACE_BEARER_TOKEN"
Send ComSetRequestHeader To hoHttp "accept" "application/json;charset=utf-8"
Send ComSetRequestHeader To hoHttp "X-Datev-Client-ID" "DATEV_CLIENT_ID"
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoQueryParams to vQueryParams
Get pvComObject of hoResp to vResp
Get ComHttpParams Of hoHttp "GET" "https://accounting-clients.api.datev.de/platform-sandbox/v2/clients" vQueryParams vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComStatusCode Of hoResp To iTemp1
Showln iTemp1
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
Get Create (RefClass(cComChilkatJsonArray)) To hoJarr
If (Not(IsComObjectCreated(hoJarr))) Begin
Send CreateComObject of hoJarr
End
// Insert code here to load the above JSON array into the jarr object.
Get ComBodyStr Of hoResp To sTemp1
Get ComLoad Of hoJarr sTemp1 To iSuccess
Move 0 To i
Get ComSize Of hoJarr To iCount_i
While (i < iCount_i)
Get ComObjectAt Of hoJarr i To vJson
If (IsComObject(vJson)) Begin
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
Set pvComObject Of hoJson To vJson
End
Get ComIntOf Of hoJson "client_number" To iClient_number
Get ComIntOf Of hoJson "consultant_number" To iConsultant_number
Get ComStringOf Of hoJson "id" To sId
Get ComStringOf Of hoJson "name" To sName
Move 0 To j
Get ComSizeOfArray Of hoJson "services" To iCount_j
While (j < iCount_j)
Set ComJ Of hoJson To j
Get ComStringOf Of hoJson "services[j].name" To sName
Move 0 To k
Get ComSizeOfArray Of hoJson "services[j].scopes" To iCount_k
While (k < iCount_k)
Set ComK Of hoJson To k
Get ComStringOf Of hoJson "services[j].scopes[k]" To sStrVal
Move (k + 1) To k
Loop
Move (j + 1) To j
Loop
Send Destroy of hoJson
Move (i + 1) To i
Loop
End_Procedure