Änderungen von Dokument Release-API
Zuletzt geändert von MACH formsolutions am 08.04.2026
Von Version 16.1
bearbeitet von MACH formsolutions
am 12.01.2021
am 12.01.2021
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 30.1
bearbeitet von MACH formsolutions
am 08.04.2026
am 08.04.2026
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,172 +1,66 @@ 1 1 ## Allgemeines 2 2 3 -Form-Solutions stellt eine Schnittstelle zur Verfügung, die alle im System hinterlegten Veröffentlichungen ausliest. Diese Veröffentlichungen beinhalten sowohl Assistenten als auch PDF-Formulare. Die Architektur beruht auf dem REST-Standard und ist in der Lage die angefragten Dokumente entweder im JSON-Format oder im CSV-Format auszuliefern. Wie bei allen von Form-Solutions angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept. Hierbei werden die Zugriffsberechtigungen auf die getätigte Anfrage geprüft und sichergestellt, dass keine Dokumente ausgeliefert werden, auf die der Zugriff verweigert ist. Eine Besonderheit hierbei stellt der Supermandant dar, welcher als übergeordnete Instanz Zugriff auf alle unterliegenden Mandanten hat. Im nachfolgenden Dokument werden die genauen Funktionalitäten im Einzelnen beschrieben. 3 +MACH formsolutions stellt eine Schnittstelle zur Verfügung, die alle im System hinterlegten Veröffentlichungen ausliest. Diese Veröffentlichungen beinhalten sowohl Assistenten als auch PDF-Formulare. 4 +Die Architektur beruht auf dem REST-Standard und ist in der Lage die angefragten Dokumente entweder im JSON-Format oder im CSV-Format auszuliefern. 5 +Wie bei allen von MACH formsolutions angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept. Hierbei werden die Zugriffsberechtigungen auf die getätigte Anfrage geprüft und sichergestellt, dass keine Dokumente ausgeliefert werden, auf die der Zugriff verweigert ist. Eine Besonderheit hierbei stellt der Supermandant dar, welcher als übergeordnete Instanz Zugriff auf alle unterliegenden Mandanten hat. 4 4 5 -___ 6 - 7 7 ## Voraussetzungen 8 8 9 9 Um die Release-API nutzen zu können sind folgende Voraussetzungen zu erfüllen: 10 10 11 -- Der Formularserver benötigt mindestens das [Release](https://wiki.form-solutions.de/wiki/docwiki/view/Main/13_Release-Notes/) mit der Version 4.46.0 12 -- Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein. 11 +* Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein. 13 13 14 - ___13 +## Verwendung der Schnittstelle 15 15 15 +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. 16 16 17 - ##Verwenden der Schnittstelle17 +Da die Schnittstelle auf dem REST-Standard beruht, kann diese über eine URL erreicht werden. Hierbei gibt es einen festen Basispfad und einen entsprechenden Endpunkt. Der Basispfad ist bei jedem Aufruf gleich, wobei sich die Endpunkte je nach Funktion unterscheiden können. Ein Endpunkt spricht eine Funktionalität der Schnittstelle an. Da der Basispfad immer gleich ist, können über diverse Endpunkte mehrere Funktionalitäten in die Schnittstelle verbaut werden. Weitere Verwendungsmöglichkeiten finden Sie in unserer Swagger-Dokumentation. 18 18 19 -## #Einstiegspunkt19 +## Einschränkungen 20 20 21 - Da die Schnittstelle auf dem REST-Standardberuht, kann diese über eine URL erreichtwerden. Hierbeigibtes einen festenBasispfadund einenentsprechenden Endpunkt. Der Basispfad istbei jedemAufruf gleich, wobei sich die Endpunkteje nach Funktionunterscheidenkönnen.21 +Zur Zeit gelten für die Schnittstelle folgende Einschränkungen: 22 22 23 -```javascript 24 -Basispfad: 25 -https://<server-name>/release-api 26 -``` 23 +* Es werden nicht alle möglichen Konfigurationsoptionen angezeigt 24 +* Fehlerhafte Konfigurationsfelder werden ausgeblendet 27 27 28 - #### Endpunkte26 +Weiterhin werden nur "gültige" Veröffentlichungen angezeigt. Für Assistenten bedeutet das, dass 29 29 30 - EinEndpunkt sprichteineFunktionalität derSchnittstellean.DaderBasispfadimmer gleich ist, könnenüberdiverseEndpunktemehrere Funktionalitätenin dieSchnittstelleverbautwerden.31 - ImFolgendenwird eineAuflistung aller aktuellunterstütztenEndpunkteaufgeführt.28 +* die Gültigkeitsperiode für den Assistenten bereits begonnen hat 29 +* die Gültigkeitsperiode des Assistenten noch nicht beendet ist 32 32 33 -```javascript 34 -Endpunkt: /releases 31 +Für PDF bedeutet das, dass 35 35 36 -Pfadbeispiel: 37 - https://<server-name>/release-api/releases 38 -``` 33 +* die aktuelle Formularversion aktiv ist 39 39 40 - _Beschreibung:Der hier aufgeführte Endpunkt liefert alle Veröffentlichungen eines Mandanten (sowohlAssistenten als auch PDF-Formulare) zurück. Hierbei besteht die Möglichkeit sichalseinzelner Mandantoderals Supermandantanzumelden. Die detaillierte Unterscheidung dieser beiden Methoden findet sich unter dem Punkt Authentifizierung._35 +## Ausgabeformate 41 41 42 -```javascript 43 -Endpunkt: /releases/assistants 37 +### Ausgabe im JSON-Format (Standard) 44 44 45 -Pfadbeispiel: 46 - https://<server-name>/release-api/releases/assistants 47 -``` 39 +Werden keine Header-Parameter mitgegeben, erfolgt die Ausgabe standardmäßig im JSON-Format. 48 48 49 - _Beschreibung:Der hier aufgeführte Endpunkt liefertalle Veröffentlichungen von Assistenten eines Mandanten zurück. Hierbeibesteht dieMöglichkeit sich als einzelner Mandantoderals Supermandantanzumelden. Die detaillierte Unterscheidung dieser beiden Methoden findet sich unter dem Punkt Authentifizierung._41 +### Ausgabe im CSV-Format 50 50 51 -```javascript 52 -Endpunkt: /releases/pdfs 43 +Mit dem Header-Parameter "accept = text/csv" kann die Ausgabe im CSV-Format erfolgen. 53 53 54 -Pfadbeispiel: 55 - https://<server-name>/release-api/releases/pdfs 56 -``` 45 +## Authentifizierung 57 57 58 - _Beschreibung:DerhieraufgeführteEndpunktliefertalleVeröffentlichungenvonPDF-Formularen einesMandantenzurück.Hierbei bestehtdie Möglichkeitsichals einzelnerMandantoder alsSupermandantanzumelden.Die detaillierteUnterscheidungdieserbeiden Methodenfindetsich unter dem PunktAuthentifizierung._47 +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. 59 59 60 -```javascript 61 -Endpunkt: /releases/secureIds 49 +Einen API-Key können Sie beim Betreiber des Formularservers beantragen. 62 62 63 -Pfadbeispiele: 64 - https://<server-name>/release-api/releases/secureIds 65 - https://<server-name>/release-api/releases/assistants/secureIds 66 - https://<server-name>/release-api/releases/pdfs/secureIds 67 -``` 51 +### Authentifizierung als Supermandant 68 68 69 - _Beschreibung:Der hier aufgeführte Endpunkt liefertausschließlichalle"SecureId's"der angefragten Veröffentlichungenzurück.EineSecureId dient zureindeutigenIdenfizierungeinerVeröffentlichung. Hierbei besteht dieMöglichkeitsich alseinzelnerMandantoderals Supermandantanzumelden.DiedetaillierteUnterscheidungdieserbeidenMethoden findetsichunterdemPunktAuthentifizierung._53 +Bei der Authentifizierung als Supermandant liegen Berechtigungen auf alle im System hinterlegten Mandanten vor. Somit ist es möglich, alle Veröffentlichungen auf dem Formularserver mandantenübergreifend auszulesen. Gleichzeitig bietet die Schnittstelle über den Parameter "organizationId" die Möglichkeit, jeweils nur die Veröffentlichungen für einen oder mehrere Mandanten auszulesen. 70 70 71 - ![[AnzeigederSecureID|@Release-API-SecureID.jpg]]55 +### Authentifizierung als einzelner Mandant 72 72 73 - ###Authentifizierung57 +Bei der Authentifizierung als einzelner Mandant liegen Berechtigungen auf alle Veröffentlichungen des eigenen Mandanten vor. Es werden die Veröffentlichungen von Assistenten und PDF-Formularen des authentifizierten Mandanten übergeben. 74 74 75 -Um die Schnittstelle verwenden zu können, muss eine Authentifizierung vorgenommen werden. 76 -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. 77 -Sollte noch kein passender API-Schlüssel vorliegen, kann dieser beim Administrator des Formularservers beantragt werden. 78 -Generell werden die beiden im Folgenden aufgeführten Authentifizierungsarten unterschieden. 59 +## Beispielanwendung (Swagger-Dokumentation) 79 79 80 -> ***Hinweis:*** 81 -> Die verwendete Authentifizierungsart ist eine [Basis-Authentifizierung](https://de.wikipedia.org/wiki/HTTP-Authentifizierung#Basic_Authentication). 61 +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. 82 82 83 -#### Authentifizierung als Supermandant 63 +Die Adresse der Swagger-Anwendung der Release-API lautet `< Formularserveradresse >/release-api/swagger-ui/index.html` 64 +Um die Anwendung aufzurufen, setzen Sie die Adresse des jeweiligen Formularservers ein. 84 84 85 -Bei der Authentifizierung als Supermandant liegen Berechtigungen auf alle im System hinterlegten Benutzer vor. Somit ist es möglich, alle Veröffentlichungen auf dem Formularserver mandantenübergreifend auszulesen. Gleichzeitig bietet die Schnittstelle über einen Parameter die Möglichkeit auch nur die Veröffentlichungen für einen oder mehrere Mandanten auszulesen. Dieses Verhalten wird über den Parameter \<organizationId\> gesteuert. 86 - 87 -**Aufruf ohne Parameter \organizationId\** 88 - 89 -```javascript 90 -Pfadbeispiel: https://<server-name>/release-api/releases 91 -``` 92 - 93 -_Beschreibung: Wird die Schnittstelle als Supermandant ohne den Parameter < organizationId > aufgerufen, so werden alle Veröffentlichungen aller im Formularserver hinterlegten Mandanten ausgelesen. Dies betrifft sowohl Assistenten als auch PDF-Formulare._ 94 - 95 - 96 -**Aufruf mit Parameter \organizationId\** 97 - 98 -```javascript 99 -Pfadbeispiel: https://<server-name>/release-api/releases?organizationId=12345678-1234 100 -``` 101 - 102 -Beschreibung: Wird die Schnittstelle als Supermandant mit dem Parameter < organizationId > aufgerufen, so werden alle Veröffentlichungen für den in dem Parameter aufgeführten Mandanten ausgelesen. Dies betrifft sowohl Assistenten als auch PDF-Formulare. Zusätzlich zu dieser Funktion können auch mehrere Mandantennummern kommasepariert als Wert des Parameters eingetragen werden. Somit würden alle Veröffentlichungen der angegebenen Mandantennummern ausgelesen werden. 103 - 104 -#### Authentifizierung als einzelner Mandant 105 - 106 -Bei der Authentifizierung als einzelner Mandant liegen Berechtigungen auf alle Veröffentlichungen des eigenen Mandanten vor. Um die Schnittstelle nach einer solchen Authentifizierung nutzen zu können, wird die oben beschriebene Basis-Url sowie der gewünschte Endpunkt verwendet. 107 - 108 -```javascript 109 -Pfadbeispiel: https://<server-name>/release-api/releases 110 -``` 111 - 112 -Da wir mit dieser Art der Authentifizierung bereits eindeutig als Mandant identifiziert sind, wird an dieser Stelle keine Filterung der Mandanten über einen gesonderten Parameter benötigt. Mit der Nutzung der oben beschriebenen URL werden nun alle Veröffentlichungen von Assistenten und PDF-Formularen des angemeldeten Mandanten ausgehändigt. 113 - 114 -___ 115 - 116 -## Parameter 117 - 118 -Über die nachfolgenden Parameter kann die Schnittstelle entsprechende Filterungen der Suchanfragen vornehmen. Diese werden hierbei als Query-Parameter übergeben. 119 - 120 -> **organizationId** 121 - 122 -*Beschreibung: Durch diesen Parameter kann gesteuert werden, welche Mandanten von der Suchanfrage betroffen sind. Liegen keine Berechtigungen auf die angegebenen Mandantennummern vor, so werden diese nicht bei der Suche berücksichtigt. Es können mehrere Mandantennummern kommasepariert eingegeben werden.* 123 - 124 -```javascript 125 -Pfadbeispiel: https://<server-name>/release-api/releases?organizationId=12345678-1234 126 -``` 127 - 128 -> **secureId** 129 - 130 -*Beschreibung: Durch diesen Parameter können einzelne Veröffentlichungen mit den angegebenen secureId's an allen Endpunkten ermittelt werden. Die Werte können kommasepariert eingegeben werden.* 131 - 132 -```javascript 133 -Pfadbeispiel: https://<server-name>/release-api/releases?secureId=5b9b53dad5de93019b42df8c 134 -``` 135 - 136 -### Ausgabeformate 137 - 138 -Die Schnittstelle unterstützt insgesamt zwei unterschiedliche Ausgabeformate. Standardmäßig wird hier ein Dokument im JSON-Format ausgehändigt, während über einen Parameter im Header der Anfrage die Ausgabe im CSV-Format erzwungen werden kann. 139 - 140 -#### Ausgabe im JSON-Format 141 - 142 -Werden keine Header-Parameter mitgegeben, erfolgt die Ausgabe standardmäßig im JSON-Format. Hierbei wird eine Ausgabe erzeugt, welche verschiedene Felder beinhaltet. Welche Bedeutung diese Felder haben und wie eine Beispielausgabe aussehen kann, wir [[hier|Main.02_FSSchnittstellen.02_ReleaseAPI.01_Ressourcen.01_JSON]] beschrieben. 143 - 144 -#### Ausgabe im CSV-Format 145 - 146 -Mit dem Header-Parameter „accept“ kann die Ausgabe im CSV-Format erzwungen werden. Hierbei sollte der oben erwähnte Parameter wie folgt aufgebaut sein: *accept = text/csv*. Auch hier beinhaltet die Ausgabe verschiedene Felder, der Bedeutung inklusive einem Ausgabebeispiel [[hier|Main.02_FSSchnittstellen.02_ReleaseAPI.01_Ressourcen.02_CSV]] nachgelesen werden kann. 147 - 148 -___ 149 - 150 -## Einschränkungen 151 - 152 -Im derzeitigen Zustand hat die Schnittstelle folgende Einschränkungen: 153 -- Es werden nicht alle möglichen Konfigurationsoptionen angezeigt 154 -- Fehlerhafte Konfigurationsfelder werden ausgeblendet 155 - 156 -Weiterhin werden nur "gültige" Veröffentlichungen angezeigt. Für Assistenten bedeutet das, dass 157 - 158 -- der Assistent seine Gültigkeitsperiode bereits begonnen hat 159 -- der Assistent seine Gültigkeitsperiode nicht beendet hat 160 - 161 -Für PDF bedeutet das, dass 162 -- die aktuelle Formularversion aktiv ist 163 - 164 - 165 -Zudem ist die Schnittstelle nicht zur Verwendung mit Browsern gedacht. Es werden daher keine Garantien über die vollständige Kompatibilität der Schnittstelle mit Browsern gemacht. Die browsergestützte Verwendung erfolgt auf eigene Gefahr. 166 -Um die Schnittstelle verwenden zu können, kann diese entweder programmatisch oder über entsprechende Hilfsprogramme (Insomnia, Postman, ...) angesprochen werden. 167 - 168 - 169 - 170 - 171 - 172 - 66 +Für Funktionstests sind gültige Authentifizierungsdaten für den jeweiligen Server erforderlich (Mandantennummer und API-Key).