-
Lilith Wittmann authoredLilith Wittmann authored
FIT-Connect Architektur Übersicht
FIT-Connect ist ein System, das es ermöglicht, Anträge von einem Onlineservice, einer App oder einem anderen digitalen Medium über eine standartisierte Schnittstelle an die zuständige Person bzw. an ein Fachverfahren in der für den Antrag zuständigen Behörde zu versenden.
Dafür gibt es zwei Schnittstellen zum FIT-Connect-System die Abgabepunkt-API und die Zustellpunkt-API.
Einen Antrag an die Abgabepunkt-API versenden
An die Abgabepunkt-API kann ein Onlineservice, der entweder von einer Behörde, einem Unternehmen oder einer zivilgesesellschaftlichen Organisation betrieben wird, Anträge übermitteln. Der Onlineservice benötigt dazu die Destination-ID eines Antrages. Diese Destination-ID ist einfach eine UUID, die dem FIT-Connect-System sagt, wohin ein Antrag zugestellt werden soll. Die passende Destination-ID kann man über die Schnittstelle des Zuständigkeitsfinders herausbekommen (todo: link).
Mithilfe der Destination-ID kann ein Onlineservice bei FIT-Connect anfragen, in welchem Format die Empfangsbehörde die Daten erwartet. Das können JSON oder XML-Schemata und manchmal auch Binärdateien sein.
FIT-Connect möchte einen sehr sicheren Übermittlungsweg bereitstellen, deswegen müssen alle Daten immer vom Browser des Users bis in die Behörde Ende-zu-Ende-Verschlüsselt übertragen werden. Das dafür benötigte Schlüsselmaterial wird auch über die FIT-Connect-API bereitgestellt.
Um Zugang zur Abgabepunkt-API für eine bestimmte Destination-ID zu bekommen, muss man OAuth Credentias über das Developer-Portal beantragen. Mit diesen kann man dann wiederum einen JWT Token bekommen, mit dem man sich gegenüber der Abgabepunkt-API authentifizieren kann.
Nach Abgabe des Antrags erhält man von dieser API einen "Application ID". Mithilfe dieser Application ID kann man den Event Log des Antrags abrufen. Dieser Eventlog enthält eine Liste von Ereignes, ähnlich wie im Interface einer Paketverfolgung, mit denen der aktuelle Zustellungsstatus des Antrags transparent wird. Also ob und wann ein Antrag abgesendet, bei der Fachanwendung eingegangen bzw. bearbeitet wurde.
Außerdem gibt es die Möglichkeit beim Absenden eines Antrages einen Verschlüsselungschlüssel mitzugeben. Wenn dieser vorhanden ist, dann können durch die Behörden Antworten auf Anträge im FIT-Connect-System hinterlegt werden. Wenn eine Antwort hinterlegt wird, kann der User per Webhook, E-Mail oder Push-Notification darüber benachtichtigt werden und die verschlüsselte Antwort über die verwendete App oder Onlineservice abrufen.
Einen Zustellpunkt bereitstellen
Behörden können über das FIT-Connect-System Zustellpunkte für Anträge bereitstellen. In der Regel geben sie dabei an, für welches Gebiet sie welchen Antrag aus dem Leistungskatalog entgegennehmen. Darauf erhalten sie eine Destination ID, welche eine Eindeutige Zustelladresse für diese Leistung repräsentiert. Diese Destination ID wird im Diensteverzeichnis zusammen mit der LeiKa-ID und den Gemeindekennungen gelistet und wird somit für Antragsversender auffindbar.
Beim Anlegen eines Zustellpunktes übermittelt die Behörde außerdem noch einen Verschlüsselungs- und einen Signatur-Key, Informationen ob und wie sie über einen neuen Antrag benachrichtigt werden soll und Datenschemas, denen die Antragsdaten, die an sie übermittelt werden, entsprechen müssen.
Nachdem ein Zustellpunkt angelegt wurde, können über diesen Anträge empfangen werden. Wenn ein Antrag für die Destination-ID eingegangen ist, wird die Fachanwendung darüber über einen Webhook benachrichtig. Um den Antrag abzurufen muss die Fachanwendung sich zuerst via OAuth2 authentifizieren und kann sich dann mithilfe des JWT gegenüber des Fachverfahrens autorisieren und den Antrag abrufen.
Nach dem Abruf des Antrags hat die Fachanwendung über die sogenannten Security Event Tokens die Möglichkeit Statusaktualisierungen zum empfangenen Antrag an das FIT-Connect-System zu übermitteln. Dieses benachrichtigt dann den Antragssteller wiederum via Webhook, E-Mail oder Push-Notification über die Statusänderung. Außerdem hat sie die Möglichkeit eine verschlüsselte Antwort auf den Antrag zu hinterlegen, die ebenfalls vom Antragssteller abgerufen werden kann.