API Ressourcen Dokumentation

Was ist die Ressourcen-API?

Einen vollständigen allgemeinen Überblick finden Sie auf der Produktseite der Ressourcen-API.

Wie sendet man die Dokumente?

Akzeptierte Formate

Akzeptiertes Format ist PDF.

Anzahl der Seiten pro Aufruf

Die Anzahl der akzeptierten Dateien hängt vom Dokumenttyp ab:

  • französische Einkommenssteuererklärung: 1 Datei
  • französische Gehaltsabrechnung Beamter: 1 Datei
  • Zahlungsbescheinigung der CAF FR: mehrere Dateien

Ressourcen-API-Anfragen

Parameter

Mit dem API-System können Sie die Validierung von Nachweisen automatisieren, indem Sie eine einfache HTTP-POST-Anfrage senden.
Die akzeptierten Parameter sind in der folgenden Tabelle aufgeführt:

ParameterTypFormatErforderlichBeschreibung
api_keyStringJaIhr API-Schlüssel
formatStringNein
fr_income_taxes_fileDateiPDFNeinDokument Einkommenssteuererklärung
fr_civil_servant_payslip_fileDateiPDFNeinDokument Gehaltsabrechnung Beamter
fr_caf_payment_certificate_fileDatei[]PDFNeinEin oder mehrere Dokumente Zahlungsbescheinigung der CAF

Beispiele in verschiedenen Sprachen

curl
    -X POST 
    -F "format={{ json or xml }}" 
    -F "api_key={{ YOUR_API_KEY }}" 
    -F "fr_****_file=@{{ PATH_TO_FILE }}" 
    
    https://api.app.trustdochub.com/api/resources/v1
public String sendIdFileAndGetResults(MultipartFile file) {
    
    WebClient client = WebClient.create();
    
    MultipartBodyBuilder builder = new MultipartBodyBuilder();
    builder.part("fr_****_file", file.getResource());
    builder.part("api_key", {{ YOUR_API_KEY }});
    
    return client.post()
    .uri(URI.create("https://api.app.trustdochub.com/api/resources/v1"))
    .contentType(MediaType.MULTIPART_FORM_DATA)
    .body(BodyInserters.fromMultipartData(builder.build()))
    .retrieve()
    .bodyToMono(String.class)
    .block();
    }
import requests
    
    url = 'https://api.app.trustdochub.com/api/resources/v1'
    data = {'api_key': '{{ YOUR_API_KEY }}'}
    
    with open('file.txt', 'rb') as file:
        response = requests.post(url, data=data, files={'fr_****_file': file})
    
    print(response.text)
const axios = require('axios');
    const FormData = require('form-data');
    const fs = require('fs');
    
    const form = new FormData();
    
    // Pfad zur Datei
    const filePath = 'pathToFile';
    
    // Prüfen, ob Datei existiert
    if (!fs.existsSync(filePath)) {
      console.error('Datei nicht gefunden:', filePath);
      process.exit(1);
    }
    
    // Datei zum Formular hinzufügen
    form.append('fr_****_file', fs.createReadStream(filePath));
    
    // API-Schlüssel hinzufügen
    form.append('api_key', 'YOUR_API_KEY');
    
    (async () => {
      try {
        const response = await axios.post(
          'https://api.app.trustdochub.com/api/resources/v1',
          form,
          {
            headers: {
              ...form.getHeaders(),
            },
          }
        );
        console.log('Antwort vom Server:', response.data);
      } catch (error) {
        if (error.response) {
          console.error('Serverfehler:', error.response.status);
          console.error('Fehlerdetails:', error.response.data);
        } else if (error.request) {
          console.error('Keine Antwort erhalten:', error.request);
        } else {
          console.error('Fehler bei der Anfrage:', error.message);
        }
      }
    })();
<?php require 'vendor/autoload.php'; 
use GuzzleHttp\Client; 
use GuzzleHttp\Exception\RequestException;

// Ziel-URL 
$url = 'https://api.app.trustdochub.com/api/resources/v1';

// Pfad zur zu sendenden Datei 
$filePath = '{{ path_to_file }}'; 

// Prüfen ob Datei existiert 
if (!file_exists($filePath)) {
    die('Datei nicht gefunden: ' . $filePath);
}

// API-Schlüssel
$apiKey = 'YOUR_API_KEY';

$client = new Client(); 
try {
    $response = $client->post($url, [
        'multipart' => [
            [
                'name'     => 'fr_****_file',
                'contents' => fopen($filePath, 'r'),
                'filename' => basename($filePath),
                'headers'  => ['Content-Type' => 'application/pdf']
            ],
            [
                'name'     => 'api_key',
                'contents' => $apiKey
            ],
        ],
        'verify' => true
    ]);

    echo 'HTTP-Code: ' . $response->getStatusCode() . "\n";
    echo 'Antwort vom Server: ' . $response->getBody();
} catch (RequestException $e) {
    if ($e->hasResponse()) {
        echo 'Serverfehler: ' . $e->getResponse()->getStatusCode() . "\n";
        echo 'Antwort vom Server: ' . $e->getResponse()->getBody();
    } else {
        echo 'Fehler bei der Anfrage: ' . $e->getMessage();
    }
}

Web-Oberfläche

Zentrales Element der Suite – die Web-Oberfläche ermöglicht Ihnen:

  • Details Ihres Abonnements einzusehen
  • Zu erfahren, wie viele Überprüfungen Ihnen in jedem Abonnement noch zur Verfügung stehen
  • Auf die Historie Ihrer API-Aufrufe zuzugreifen
  • JSON- und XML-Berichte für jeden Aufruf der Historie herunterzuladen
  • Die entsprechenden Daten zu löschen

Verfügbare Sprachen

Die Web-Oberfläche ist in folgenden Sprachen verfügbar:

  • Französisch
  • Englisch

Reiter „Abonnements“

Auf der Startseite der Web-Oberfläche der Ressourcen-API finden Sie eine Liste Ihrer Abonnements mit folgenden Informationen:

  • Plan-Typ (PRO, BUSINESS, CORPORATE)
  • Abrechnungsrhythmus (monatlich oder jährlich)
  • Aktives Abonnement: ob Ihr Abonnement aktiv ist oder nicht
  • API-Schlüssel: Ihr Abonnement-API-Schlüssel
  • Verbleibende Überprüfungen: Anzahl der verbleibenden Überprüfungen in diesem Zeitraum
Abonnement API Ressourcen trustdochub.com

Reiter „Ressourcen“

Der Reiter „Ressourcen“ (zugänglich, wenn ein Ressourcen-Abonnement aktiv ist) bietet Ihnen verschiedene Informationen und Werkzeuge.

Verlauf

Im Verlauf Ihrer API-Aufrufe können Sie die vollständige Historie einsehen mit folgenden Details:

  • Datum des API-Aufrufs
  • Typ des überprüften Dokuments
  • Herunterladen des Berichts im PDF-/JSON-/XML-Format
  • Löschen des API-Aufrufs und der zugehörigen Daten
Lokalisierte Web-Oberfläche API Ressourcen trustdochub.com

Tool „Dokument prüfen“

Mit dem Tool „Dokument prüfen“ können Sie Dokumente direkt aus der Web-Oberfläche hochladen und prüfen – ganz ohne API-Aufrufe!

Beide Ansätze ergänzen sich je nach Bedarf.

Die Anzahl der pro Upload möglichen Dateien variiert je nach Dokument:

  • Einkommenssteuererklärung: 1 Datei
  • Gehaltsabrechnung Beamter: 1 Datei
  • CAF-Zahlungsbescheinigung: mehrere Dateien

Die Ergebnisse stehen anschließend im Verlauf zur Verfügung, mit Download-Möglichkeiten als PDF-, JSON- oder XML-Bericht.

Tool Dokument prüfen API Ressourcen trustdochub.com

API-Antworten

JSON-Format

Sie können die Ergebnisse im JSON-Format erhalten.

Dazu fügen Sie einfach den Parameter „format=json“ zu Ihrer Anfrage hinzu oder lassen den Parameter „format“ ganz weg.

Im Folgenden die möglichen Antworten je nach Dokumenttyp:

Einkommensteuer

Einkommensteuer

{
    "documentInfos": {
        "publicationDate": null,
        "signatureDate": "2022-06-13",
        "taxableIncomeReference": "44444",
        "sharesNumber": "1",
        "noticeReference": "2222222222222",
        "incomeYear": "2021",
        "declarant1": "XXXXXX YYYYYY",
        "taxNumberDeclarant1": "777777777777",
        "declarant2": null,
        "taxNumberDeclarant2": "null",
        "collectionDate": "2022-07-31"
    },
    "certificate": {
        "validityStartDate": "2022-06-21",
        "validityEndDate": "2024-06-21",
        "issuerReference": "FR04",
        "issuerName": "AriadNEXT",
        "subjectReference": "FPE3",
        "issuer": "DIRECTION GENERALE DES FINANCES PUBLIQUES",
        "datesConsistency": true,
        "digitalSignature": true
    }
}
Gehaltsabrechnung Beamter

Gehaltsabrechnung Beamter

{
    "documentInfos": {
        "fullName": "MR XXXX YYYY",
        "employerSiret": "55555555555555",
        "periodStartDate": "2021-11-01",
        "periodEndDate": "2021-11-30",
        "contractStartDate": "1111-11-11",
        "netTaxableSalary": "2290.3",
        "netTaxableAccumulatedSalary": "27138.31"
    },
    "certificate": {
        "validityStartDate": "2020-03-30",
        "validityEndDate": "2023-03-31",
        "issuerReference": "FR04",
        "issuerName": "AriadNEXT",
        "subjectReference": "FPE1",
        "issuer": "DIRECTION GENERALE DES FINANCES PUBLIQUES",
        "datesConsistency": true,
        "digitalSignature": true
    }
}
CAF-Zahlungsbescheinigung (1 Datei / 2-seitiges Dokument)

CAF-Zahlungsbescheinigung (1 Datei / 2-seitiges Dokument)

{
    "cafPaymentCertificates": [
        {
            "documentInfos": {
                "documentDate": "2020-02-05",
                "dateOfBirth": "1980-08-14",
                "numberOfPages": 2,
                "beneficiaryNumberHeader": "8888888 M",
                "dateHourFooter": [
                    "050220202336",
                    "050220202336"
                ],
                "beneficiaryNumberFooter": [
                    "8888888 M",
                    "8888888 M"
                ],
                "barcodeNumber": [
                    "88888888888800000000",
                    "88888888888800000000"
                ],
                "barcodeNumberDecoded": [
                    "88888888888800000000",
                    "88888888888800000000"
                ]
            },
            "documentInfosValidation": {
                "datesHeaderFooterValid": true,
                "beneficiaryNumberHeaderFooterValid": true,
                "beneficiaryNumberBarcodeNumberValid": true,
                "barcodeNumberBarcodeValid": true,
                "datesHeaderMetasValid": true,
                "datesFooterMetasValid": true
            }
        }
    ],
    "documentsValidation": null
}
CAF-Zahlungsbescheinigung (2 Dateien / je 2-seitiges Dokument)

CAF-Zahlungsbescheinigung (2 Dateien / je 2-seitiges Dokument)

{
    "cafPaymentCertificates": [
        {
            "documentInfos": {
                "documentDate": "2020-02-05",
                "dateOfBirth": "1980-08-14",
                "numberOfPages": 2,
                "beneficiaryNumberHeader": "8888888 M",
                "dateHourFooter": [
                    "050220202336",
                    "050220202336"
                ],
                "beneficiaryNumberFooter": [
                    "8888888 M",
                    "8888888 M"
                ],
                "barcodeNumber": [
                    "88888888888800000000",
                    "88888888888800000000"
                ],
                "barcodeNumberDecoded": [
                    "88888888888800000000",
                    "88888888888800000000"
                ]
            },
            "documentInfosValidation": {
                "datesHeaderFooterValid": true,
                "beneficiaryNumberHeaderFooterValid": true,
                "beneficiaryNumberBarcodeNumberValid": true,
                "barcodeNumberBarcodeValid": true,
                "datesHeaderMetasValid": true,
                "datesFooterMetasValid": true
            }
        },
        {
            "documentInfos": {
                "documentDate": "2021-02-05",
                "dateOfBirth": "1980-08-14",
                "numberOfPages": 2,
                "beneficiaryNumberHeader": "8888888 M",
                "dateHourFooter": [
                    "050220212336",
                    "050220212336"
                ],
                "beneficiaryNumberFooter": [
                    "8888888 M",
                    "8888888 M"
                ],
                "barcodeNumber": [
                    "88888888888800000000",
                    "88888888888800000000"
                ],
                "barcodeNumberDecoded": [
                    "88888888888800000000",
                    "88888888888800000000"
                ]
            },
            "documentInfosValidation": {
                "datesHeaderFooterValid": true,
                "beneficiaryNumberHeaderFooterValid": true,
                "beneficiaryNumberBarcodeNumberValid": true,
                "barcodeNumberBarcodeValid": true,
                "datesHeaderMetasValid": true,
                "datesFooterMetasValid": true
            }
        }
    ],
    "documentsValidation": {
        "datesOfBirthValid": true,
        "datesHeaderFooterValid": true,
        "beneficiaryNumberHeaderFooterValid": true,
        "beneficiaryNumberBarcodeNumberValid": true,
        "barcodeNumberBarcodeValid": true,
        "datesHeaderMetasValid": true,
        "datesFooterMetasValid": true,
        "modificationDateMetasValid": true
    }
}

API-Statuscodes

Die folgenden Codes werden von der API zurückgegeben:

CodeStatusBeschreibung
200Verifikation OKDie Verifikation war erfolgreich
401Nicht autorisiertDer API-Schlüssel ist ungültig
402Unzureichende GuthabenEs sind keine Verifikationsguthaben für den gewählten Zeitraum mehr verfügbar
422Dokument unlesbarDas Dokument wird nicht erkannt oder ist fehlerhaft

Durchgeführte Prüfungen je Dokumenttyp

Nachfolgend finden Sie die Liste und Beschreibung der verschiedenen Felder und Prüfungen, die für jeden mit unseren Produkten kompatiblen Ausweisdokumenttyp durchgeführt werden.

Einkommensteuer

Einkommensteuer

ParameternameTypBeschreibung
documentInfos
publicationDateStringVeröffentlichungsdatum (kann null sein)
signatureDateStringUnterzeichnungsdatum des Dokuments
taxableIncomeReferenceStringSteuerpflichtiges Einkommen Referenz
sharesNumberStringAnzahl der Steuerteile
noticeReferenceStringReferenz der Steuererklärung
incomeYearStringEinkommensjahr
declarant1StringErklärender 1
taxNumberDeclarant1StringSteuernummer Erklärender 1
declarant2StringErklärender 2
taxNumberDeclarant2StringSteuernummer Erklärender 2
collectionDateStringEinzugsdatum
certificate
validityStartDateStringGültigkeitsbeginn des Signaturzertifikats
validityEndDateStringGültigkeitsende des Signaturzertifikats
issuerReferenceStringAussteller-Referenz des Signaturzertifikats
issuerNameStringName des Ausstellers des Signaturzertifikats
subjectReferenceStringBetreff-Referenz des Signaturzertifikats
issuerStringAussteller des Signaturzertifikats
datesConsistencyBooleanSind die Gültigkeitsdaten konsistent mit dem Ausstellungsdatum?
digitalSignatureBooleanIst das digitale Signaturzertifikat gültig?
Warenkorb
Nach oben scrollen