Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = 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

  final bdRequestBody = CkBinData();
  try {
    bdRequestBody.loadFile('c:/temp/EXTF_BS_20200101_1.csv');
  } on ChilkatException {
    print('Failed to load the csv file.');
    return;
  }

  http.setRequestHeader('accept', 'application/json;charset=utf-8');
  http.setRequestHeader('X-Datev-Client-ID', 'clientId');
  http.setRequestHeader('Client-Application-Version', '2.0c');
  http.setRequestHeader('Filename', 'EXTF_BS_20200101_1.csv');
  http.setRequestHeader('Reference-Id', 'Buchungsstapel_Verkäufe_2020_01_Nr_001');
  // Adds the "Authorization: Bearer REPLACE_BEARER_TOKEN" header.
  http.authToken = 'REPLACE_BEARER_TOKEN';

  final resp = CkHttpResponse();
  final url = 'https://accounting-extf-files.api.datev.de/platform-sandbox/v3/clients/DATEV_USER_ID/extf-files/import';
  try {
    http.httpBd('POST', url, bdRequestBody, 'application/octet-stream', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(resp.statusCode);
  print(resp.bodyStr);
}