Tcl
Tcl
Datev - Upload File (Transfer a file to DATEV data center)
See more Datev Examples
Demonstrates how to transfer a file to the DATEV data center.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Implements the following CURL command:
# curl --request POST \
# --url "https://accounting-extf-files.api.datev.de/platform-sandbox/v3/clients/REPLACE_CLIENT-ID/extf-files/import" \
# --header "Authorization: Bearer REPLACE_BEARER_TOKEN" \
# --header "X-Datev-Client-ID: clientId" \
# --header "accept: application/json;charset=utf-8" \
# --header "content-type: application/octet-stream" \
# --header "Filename: EXTF_BS_20200101_1.csv" \
# --header "Reference-Id: Buchungsstapel_Verkäufe_2020_01_Nr_001" \
# --header "Client-Application-Version: 2.0c" \
# --data-binary "@REPLACE_BODY"
# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code
set bdRequestBody [new_CkBinData]
set success [CkBinData_LoadFile $bdRequestBody "c:/temp/EXTF_BS_20200101_1.csv"]
if {$success != 1} then {
puts "Failed to load the csv file."
delete_CkHttp $http
delete_CkBinData $bdRequestBody
exit
}
CkHttp_SetRequestHeader $http "accept" "application/json;charset=utf-8"
CkHttp_SetRequestHeader $http "X-Datev-Client-ID" "clientId"
CkHttp_SetRequestHeader $http "Client-Application-Version" "2.0c"
CkHttp_SetRequestHeader $http "Filename" "EXTF_BS_20200101_1.csv"
CkHttp_SetRequestHeader $http "Reference-Id" "Buchungsstapel_Verkäufe_2020_01_Nr_001"
# Adds the "Authorization: Bearer REPLACE_BEARER_TOKEN" header.
CkHttp_put_AuthToken $http "REPLACE_BEARER_TOKEN"
set resp [new_CkHttpResponse]
set url "https://accounting-extf-files.api.datev.de/platform-sandbox/v3/clients/DATEV_USER_ID/extf-files/import"
set success [CkHttp_HttpBd $http "POST" $url $bdRequestBody "application/octet-stream" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkBinData $bdRequestBody
delete_CkHttpResponse $resp
exit
}
puts [CkHttpResponse_get_StatusCode $resp]
puts [CkHttpResponse_bodyStr $resp]
delete_CkHttp $http
delete_CkBinData $bdRequestBody
delete_CkHttpResponse $resp