SDKs für FIT-Connect
Die SDKs kapseln JWE/JWS-Verschlüsselung, OAuth, Schema-Validierung, Anhang-Upload und das Ereignisprotokoll von FIT-Connect. Was bleibt, ist eine kleine API: eine Instanz konfigurieren, eine Rolle wählen, Anträge als Objekte behandeln. Java- und .NET-SDK decken denselben Funktionsumfang ab und werden hier gemeinsam beschrieben — alle Beispiele zeigen beide Sprachen in Tabs, die Auswahl bleibt seitenübergreifend erhalten.
- Java-SDK 4.0.0-rc.1 — Artefakt
dev.fitko.fitconnect:sdk-client, Java 21. - .NET-SDK 4.0.0-rc.1 — Paket
Fitko.FitConnect.Client, .NET 10.
Ältere SDK-Generationen (Java 3.x, .NET vor dem modularen Umbau) verwenden andere Klassennamen — siehe Changelog & Migration. Ihre bisherige Dokumentation bleibt im Archiv unter den alten Adressen erreichbar.
Welche Rolle haben Sie?
In FIT-Connect ist jede Partei ein Zustellpunkt mit einem festen Typ. Der Typ entscheidet, welchen Client Ihnen das SDK gibt — und welcher Einstieg hier für Sie passt.
Ich baue einen Onlinedienst
Mein System sammelt Antragsdaten ein und sendet sie an die zuständige Verwaltung. Später will ich den Bescheid als Antwort lesen.
- Empfänger per LeiKa-Schlüssel und Region finden
- Antrag mit Anhängen senden
- Status verfolgen, Antwort (Bescheid) lesen
Ich baue ein Verwaltungssystem
Mein Fachverfahren empfängt Anträge, prüft sie, nimmt sie an oder lehnt sie ab — und antwortet in den Vorgang.
- Schlüssel bereitstellen, Anträge abholen
- Prüfbericht lesen, annehmen oder ablehnen
- Bescheid als Antwort in den Vorgang senden
In fünf Zeilen
- Java
- .NET (C#)
FitConnectSdk sdk = FitConnectSdk.fromConfigYaml(Path.of("fitconnect.yaml"));
OnlineService svc = sdk.onlineService(MY_ONLINE_SERVICE_ID);
Participant amt = sdk.directory().forService(LEIKA_KEY, "Anmeldung", ars);
SentSubmission sent = svc.send(OutgoingSubmission.to(amt)
.setData(SubmissionData.json(formularJson, schemaUri)).build());
IOnlineServiceClient svc = client.AsOnlineService(); // client: IFitConnectClient per DI
var routes = await client.Directory.FindByService(LEIKA_KEY, AreaFilter.Ars(ars));
SentSubmission sent = await svc.SendSubmission(OutgoingSubmissionBuilder.Builder()
.WithDestinationId(routes[0].DestinationId).WithServiceType(LEIKA_KEY, "Anmeldung")
.WithMetadataVersion(new Version(1, 5, 0)).WithJsonData(formularJson, schemaUri).Build());
Aufbau der Dokumentation
Die Dokumentation ist nach dem sortiert, was Sie gerade tun wollen: lernen, eine Aufgabe erledigen, etwas verstehen oder etwas nachschlagen. Jede Seite gehört genau in einen dieser vier Bereiche und verlinkt in die anderen.
Von null zur ersten zugestellten Submission — Schritt für Schritt, mit Ergebnis am Ende jeder Seite.
RezepteEine Aufgabe, eine SeiteAntrag senden, Anträge abholen, Antwort lesen, Callback prüfen … Code zuerst, Erklärung danach.
KonzepteDas WarumRollenmodell, der Weg eines Antrags, Prüfbericht, Vorgänge, Schlüssel. Kurz, mit Diagramm.
ReferenzVollständigSpickzettel, jede Konfigurationsoption, jede Exception — für beide SDKs.
Der Weg eines Antrags
Ein Antrag entsteht im Onlinedienst, reist verschlüsselt durch FIT-Connect, wird in der Verwaltung geprüft und beantwortet. Die sechs Stationen führen direkt zu den passenden Rezepten; das Konzept dahinter erklärt Der Weg eines Antrags.
Wohin zuerst?
| Sie … | Dann hier |
|---|---|
| haben noch nie mit FIT-Connect gearbeitet | Tutorial: Erste Submission in 15 Minuten |
| wissen, was Sie wollen, und brauchen den Code | Rezepte — jede Seite beginnt mit dem fertigen Beispiel |
| verstehen nicht, warum eine Verwaltung keine Antworten empfangen kann | Konzept: Rollenmodell und vier Regeln |
| kommen von SDK 3.x oder dem alten .NET-SDK | Changelog & Migration |
| betreiben noch eine Anbindung mit Java-SDK 3.x oder dem FitConnect-NuGet | Archiv: ältere SDK-Versionen — die bisherige Doku bleibt unter ihren alten Adressen erreichbar |
| suchen eine bestimmte Methode | Spickzettel Java · Spickzettel .NET |
| verschlüsseln Antragsdaten schon im Browser | JavaScript-SDK — ergänzt die Backend-SDKs, ersetzt sie nicht |
Module und Versionen
- Java
- .NET (C#)
| Modul | Maven-Artefakt | Wozu |
|---|---|---|
| sdk-client | dev.fitko.fitconnect:sdk-client | Primärer Einstieg: Organisation, OnlineService, Directory, Management |
| core | dev.fitko.fitconnect:core | Crypto, HTTP, Schema-Validierung — auch standalone nutzbar |
| rest-clients | dev.fitko.fitconnect:rest-clients | Low-Level-REST-Zugriff ohne Protokoll-Stack |
| virus-scanner | dev.fitko.fitconnect:virus-scanner | ClamAV / ICAP für Anhang-Scans |
| zbp-client | dev.fitko.fitconnect:zbp-client | Zentrales Bürgerpostfach (ZBP) |
| cli | fit-connect-cli.jar (Release-Download) | Kommandozeilenwerkzeug auf Basis von sdk-client |
| sdk-bom | dev.fitko.fitconnect:sdk-bom | BOM mit versionssynchronen Modulen |
| Paket | Wozu |
|---|---|
| Fitko.FitConnect.Client | Primärer Einstieg: AddFitConnect(), IFitConnectClient mit AsOrganisation() / AsOnlineService() / Directory |
| Fitko.FitConnect.Core | Crypto, HTTP, Validierung, Callback-Prüfung — auch standalone nutzbar |
| Fitko.FitConnect.VirusScanning | ClamAV / ICAP für Anhang-Scans |
| Fitko.FitConnect.Zbp | Zentrales Bürgerpostfach (ZBP) |
| Fitko.FitConnect.Examples | Lauffähige Beispiele mit CLI (nicht als Paket veröffentlicht) |
Zusammenspiel von Frontend und Backend
Das JavaScript-SDK verschlüsselt Antragsdaten direkt im Browser; ein Java- oder .NET-Backend reicht sie durch — echte Ende-zu-Ende-Verschlüsselung, ohne dass Ihr Server die Klardaten sieht:
Wie das Backend eine bereits verschlüsselte Submission durchreicht, zeigt das Rezept Antrag senden → Vorverschlüsselte Daten.
Verfügbarkeit und Lizenz
Die SDKs werden von der FITKO entwickelt und gepflegt. Den aktuellen Stand entnehmen Sie dem Changelog. Der Quellcode ist unter der EUPL lizenziert.
Die unveränderte Integration eines SDKs in Ihre Anwendung erzeugt kein abgeleitetes Werk im Sinne der EUPL. Ihre Anwendung muss damit nicht selbst unter der EUPL lizenziert werden. Für eine Weitergabe des SDKs in unveränderter oder bearbeiteter Form gilt die EUPL.