Wiki-Quellcode von Submission-API

Zuletzt geändert von MACH formsolutions am 14.04.2026

Verstecke letzte Bearbeiter
MACH formsolutions 6.1 1 ## Allgemeines
MACH formsolutions 1.1 2
MACH formsolutions 19.1 3 MACH formsolutions stellt eine Schnittstelle zur Verfügung, die die Daten aller im System hinterlegten Einreichungen ausliest. Die Architektur beruht auf dem REST-Standard. Wie bei allen von MACH formsolutions angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept.
4 Die ausgelesenen Ergebnisdaten werden im JSON-Format zurückgeliefert.
MACH formsolutions 1.1 5
MACH formsolutions 6.1 6 ## Voraussetzungen
MACH formsolutions 1.1 7
MACH formsolutions 19.1 8 Um die Submission-API nutzen zu können, sind folgende Voraussetzungen zu erfüllen:
MACH formsolutions 1.1 9
MACH formsolutions 11.1 10 * Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein.
11
MACH formsolutions 6.1 12 ## Verwendung der Schnittstelle
MACH formsolutions 5.1 13
MACH formsolutions 18.1 14 Die API wurde nicht für den Browsergebrauch konzipiert. Um die Anbindung zu testen, werden externe Tools wie beispielsweise [Insomnia](https://insomnia.rest/) oder [Postman](https://www.postman.com/) empfohlen.
15
MACH formsolutions 19.1 16 Unter dem "Submission"-Endpunkt lassen sich Informationen zu eingegangenen Formularen abrufen. Zusätzlich kann ein Bearbeitungsstatus zurückgemeldet werden.
17 Mittels der Mandantennummer und der Formularnummer lässt sich eine Übersicht der eingegangenen Formulare abrufen. Dabei sind nur Metadaten enthalten. Wird beim Assistentenstart eine Ordnungsziffer mitgegeben enthält das Attribut "Payload" die übergebene Ordnungsziffer als eingebettetes JSON Element.
18 Die Anzeige kann eingeschränkt werden, indem als Abfrage-Parameter der gewünschte Status mit angegeben wird. So kann z. B. mittels "?status=NEW" auf neue Anträge eingeschränkt werden. Ebenso ist es möglich mehrere Status gleichzeitig für die Filterung anzugeben.
19 Zusätzlich kann der Abfragezeitraum über die Angabe eines "Last-Modified-Headers" eingeschränkt werden. Dabei handelt es sich um den Zeitpunkt der Einreichung, nicht um den Zeitpunkt der letzten Statusänderung.
20 Weitere Verwendungsmöglichkeiten finden Sie in unserer Swagger-Dokumentation.
MACH formsolutions 1.1 21
MACH formsolutions 6.1 22 ## Authentifizierung
MACH formsolutions 1.1 23
MACH formsolutions 16.1 24 Um die Schnittstelle verwenden zu können, muss eine Authentifizierung vorgenommen werden. Für diese sind die Mandantennummer und ein API-Key notwendig, wobei die Mandantennummer als Benutzername und der API-Key als Passwort gilt. Die verwendete Authentifizierungsart ist eine Basis-Authentifizierung.
MACH formsolutions 1.1 25
MACH formsolutions 16.1 26 Einen API-Key können Sie beim Betreiber des Formularservers beantragen.
MACH formsolutions 1.1 27
MACH formsolutions 6.1 28 ## Beispielanwendung (Swagger-Dokumentation)
MACH formsolutions 1.1 29
MACH formsolutions 16.1 30 Auf dem Formularserver ist mit der Swagger-Anwendung eine übersichtliche Darstellung und technische Dokumentation der Schnittstelle verfügbar. Mit dieser Anwendung kann die Funktionalität auch getestet werden.
MACH formsolutions 1.1 31
MACH formsolutions 20.1 32 Die Adresse der Swagger-Anwendung der Submission-API lautet `< Formularserveradresse >/submission/api/swagger-ui/index.html`
MACH formsolutions 17.1 33 Um die Anwendung aufzurufen, setzen Sie die Adresse des jeweiligen Formularservers ein.
MACH formsolutions 9.1 34
MACH formsolutions 16.1 35 Für Funktionstests sind gültige Authentifizierungsdaten für den jeweiligen Server erforderlich (Mandantennummer und API-Key).
MACH formsolutions 1.1 36
MACH formsolutions 19.1 37 ## Datenabholung durch (mehrere) Systeme koordinieren mit verschiedenen Status
MACH formsolutions 3.1 38
MACH formsolutions 17.1 39 ### Beispiel 1: Abholung eines Detaildatensatzes durch ein einzelnes externes System
MACH formsolutions 7.1 40
MACH formsolutions 17.1 41 Greift ein einzelnes externes System (beispielsweise eine Portalsoftware) auf einen Detaildatensatz für die weitere Verarbeitung zu, ist nach erfolgreicher Übermittlung der Status des entsprechenden Datensatzes von "NEW" auf "DELETED" zu setzen.
MACH formsolutions 8.1 42
MACH formsolutions 17.1 43 ### Beispiel 2: Einsicht und Abholung von Detaildatensätzen durch ein externes System
MACH formsolutions 8.1 44
MACH formsolutions 17.1 45 Greift ein externes System (beispielsweise eine Portalsoftware) auf die Übersicht aller Einreichungen eines spezifischen Assistenten zu, ist der Status der ermittelten Datensätze von "NEW" auf "READ" zu setzen. Wird ein Detaildatensatz für die weitere Verarbeitung im externen System abgerufen, ist nach erfolgreicher Übermittlung der Status des entsprechenden Datensatzes von "READ" auf "DELETED" zu setzen.
MACH formsolutions 8.1 46
MACH formsolutions 17.1 47 ### Beispiel 3: Abholung von Detaildatensätzen durch zwei externe Systeme
MACH formsolutions 8.1 48
MACH formsolutions 17.1 49 Wird ein Detaildatensatz für die weitere Verarbeitung in der Portalsoftware abgerufen, ist nach erfolgreicher Übermittlung der Status des entsprechenden Datensatzes von "NEW" auf "READ" zu setzen. Greift ein weiteres System (beispielsweise ein Fachverfahren) auf die Detaildatensätze zu, sollte stets eine Filterung auf Einreichungen mit dem Status „READ“ erfolgen. Nach erfolgreicher Übermittlung ist der Status des entsprechenden Datensatzes von „READ“ auf „DELETED“ zu setzen.
MACH formsolutions 8.1 50
MACH formsolutions 17.1 51 ### Beispiel 4: Abholung von Detaildatensätzen durch drei externe Systeme
MACH formsolutions 8.1 52
MACH formsolutions 17.1 53 Wird ein Detaildatensatz für die weitere Verarbeitung in der Portalsoftware abgerufen, ist nach erfolgreicher Übermittlung der Status des entsprechenden Datensatzes von "NEW" auf "READ" zu setzen. Greift ein zweites System (beispielsweise ein Fachverfahren) auf die Detaildatensätze zu, sollte stets eine Filterung auf Einreichungen mit dem Status „READ“ erfolgen. Nach erfolgreicher Übermittlung ist der Status des entsprechenden Datensatzes von „READ“ auf „PRELIMINARY“ zu setzen. Greift ein drittes System (beispielsweise eine Software zur Benachrichtigung des Antragstellers über das Ergebnis) auf die Detaildatensätze zu, sollte stets eine Filterung auf Einreichungen mit dem Status „PRELIMINARY“ erfolgen. Nach erfolgreicher Übermittlung ist der Status des entsprechenden Datensatzes von „PRELIMINARY“ auf „DELETED“ zu setzen.