Änderungen von Dokument Submission-API

Zuletzt geändert von MACH formsolutions am 14.04.2026

Von Version 13.1
bearbeitet von MACH formsolutions
am 25.06.2024
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 20.1
bearbeitet von MACH formsolutions
am 14.04.2026
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,59 +1,53 @@
1 1  ## Allgemeines
2 2  
3 -MACH ProForms 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 ProForms angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept. Die ausgelesenen Ergebnisdaten werden im JSON-Format zurückgeliefert. Im nachfolgenden Dokument werden die genauen Funktionalitäten im Einzelnen beschrieben.
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.
4 4  
5 5  ## Voraussetzungen
6 6  
7 -Um die Submission-API nutzen zu können sind folgende Voraussetzungen zu erfüllen:
8 +Um die Submission-API nutzen zu können, sind folgende Voraussetzungen zu erfüllen:
8 8  
9 9  * Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein.
10 10  
11 11  ## Verwendung der Schnittstelle
12 12  
13 -Unter dem "Submission"-Endpunkt lassen sich Informationen zu eingegangenen Formularen abrufen. Zusätzlich kann ein Bearbeitungsstatus zurückgemeldet werden. 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. 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. 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. Weitere Verwendungsmöglichkeiten finden Sie in unserer Swagger-Dokumentation.
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.
14 14  
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.
21 +
15 15  ## Authentifizierung
16 16  
17 -Um die Schnittstelle verwenden zu können, muss eine Authentifizierung vorgenommen werden. Für diese ist die Mandantennummer und der dafür hinterlegte API-Schlüssel notwendig, wobei die Mandantennummer als Benutzername und der API-Schlüssel als Passwort gilt. Sollte noch kein passender API-Schlüssel vorliegen, kann dieser beim Administrator des Formular-Servers beantragt werden.
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.
18 18  
19 -Die erforderlichen Authentifizierungsdaten dienen zu Demonstrationszwecken und lauten wie folgt:
20 -_**Mandantennummer:**_ 77777777-0000
21 -_**API-Schlüssel:**_ yIJNM2BS6LI0lS25Qa5xbtEK
26 +Einen API-Key können Sie beim Betreiber des Formularservers beantragen.
22 22  
23 -> {{icon name="far fa-info-circle" size="3"/}} **Hinweis:**
24 ->
25 -> Die verwendete Authentifizierungsart ist eine Basis-Authentifizierung.
26 -
27 27  ## Beispielanwendung (Swagger-Dokumentation)
28 28  
29 -Um die Schnittstelle beispielhaft bedienen zunnen, wird eine Demoanwendung unter folgender URL bereitgestellt: <https://vertrieb.form-solutions.de/submission/api/swagger-ui/index.html>
30 +Auf dem Formularserver ist mit der Swagger-Anwendung eine übersichtliche Darstellung untechnische Dokumentation der Schnittstelle verfügbar. Mit dieser Anwendung kann die Funktionalität auch getestet werden.
30 30  
31 -> _**Achtung**_ Die oben verlinkte Swagger-Dokumentation greift auf den internen Vertriebs-Server der MACH ProForms GmbH zu. Um die Dokumentation auf anderen Servern einzusehen muss die URL folgendem Format entsprechen: < BASIS_URL >/submission/swagger-ui/index.html
32 +Die Adresse der Swagger-Anwendung der Submission-API lautet `< Formularserveradresse >/submission/api/swagger-ui/index.html`
33 +Um die Anwendung aufzurufen, setzen Sie die Adresse des jeweiligen Formularservers ein.
32 32  
33 -Ebenso steht dem Anwender mit dieser Beispielanwendung eine technische Dokumentation zur Verfügung, welche die einzelnen Ressourcen detaillierter beschreibt.
35 +Für Funktionstests sind gültige Authentifizierungsdaten r den jeweiligen Server erforderlich (Mandantennummer und API-Key).
34 34  
35 -### Testdaten zu Demonstrationszwecken
37 +## Datenabholung durch (mehrere) Systeme koordinieren mit verschiedenen Status
36 36  
37 -_**organizationID:**_ 77777777-0000
38 -_**Identifier:**_ KFAS_SubmissionAPI_Test_WithUpload
39 -_**transactionID:**_ KFAS_SubmissionAPI_Test_WithUpload-SxqFFZb
40 -_**messageID:**_ 6050a243756f151657af46a4
41 -_**fileID:**_ 6050a2e8756f151657af46a6
39 +### Beispiel 1: Abholung eines Detaildatensatzes durch ein einzelnes externes System
42 42  
43 -## Anwendungsbeispiele
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.
44 44  
45 -### Anwendungsbeispiel 1
43 +### Beispiel 2: Einsicht und Abholung von Detaildatensätzen durch ein externes System
46 46  
47 -**Abholung eines Detaildatensatzes durch ein einzelnes externes System** 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.
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.
48 48  
49 -### Anwendungsbeispiel 2
47 +### Beispiel 3: Abholung von Detaildatensätzen durch zwei externe Systeme
50 50  
51 -**Einsicht und Abholung von Detaildatensätzen durch ein externes System:** 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.
49 +Wird ein Detaildatensatz 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.
52 52  
53 -### Anwendungsbeispiel 3
51 +### Beispiel 4: Abholung von Detaildatensätzen durch drei externe Systeme
54 54  
55 -**Abholung von Detaildatensätzen durch zwei externe Systeme:** 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.
56 -
57 -### Anwendungsbeispiel 4
58 -
59 -**Abholung von Detaildatensätzen durch drei externe Systeme:** 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.
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.