Wiki-Quellcode von Release-API

Zuletzt geändert von MACH ProForms GmbH am 25.06.2024

Verstecke letzte Bearbeiter
MACH ProForms GmbH 1.1 1 ## Allgemeines
2
MACH ProForms GmbH 25.1 3 MACH ProForms 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 MACH ProForms 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. Wir stellen seit dem Release [4.62.0](https://wiki.form-solutions.de/wiki/docwiki/view/Main/13_Release-Notes/) mehrere Versionen der Release-API zur Verfügung. Die ausführliche Dokumentation finden Sie im Rahmen der Swagger-Dokumentation. Den Link hierfür finden Sie am Ende der Seite. Was wird durch die Version 3 der Release-API neu zur Verfügung gestellt? Es werden nun zusätzlich zu der Leika-ID auch die OZG-ID's in der Response der Schnittstelle bereitgestellt.
MACH ProForms GmbH 1.1 4
5 ## Voraussetzungen
6
MACH ProForms GmbH 25.1 7 Um die Release-API nutzen zu können sind folgende Voraussetzungen zu erfüllen:
MACH ProForms GmbH 1.1 8
MACH ProForms GmbH 25.2 9 * Der Formular-Server benötigt mindestens das Release mit der Version 4.46.0
MACH ProForms GmbH 25.1 10 * Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein.
11
MACH ProForms GmbH 20.1 12 ## Verwendung der Schnittstelle
MACH ProForms GmbH 1.1 13
MACH ProForms GmbH 20.1 14 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.
MACH ProForms GmbH 1.1 15
MACH ProForms GmbH 20.1 16 ## Einschränkungen
MACH ProForms GmbH 1.1 17
MACH ProForms GmbH 27.1 18 Zur Zeit gelten für die Schnittstelle folgende Einschränkungen:
MACH ProForms GmbH 1.1 19
MACH ProForms GmbH 25.1 20 * Es werden nicht alle möglichen Konfigurationsoptionen angezeigt
21 * Fehlerhafte Konfigurationsfelder werden ausgeblendet
MACH ProForms GmbH 1.1 22
MACH ProForms GmbH 25.1 23 Weiterhin werden nur "gültige" Veröffentlichungen angezeigt. Für Assistenten bedeutet das, dass
MACH ProForms GmbH 1.1 24
MACH ProForms GmbH 25.2 25 * die Gültigkeitsperiode für den Assistenten bereits begonnen hat
26 * die Gültigkeitsperiode des Assistenten noch nicht beendet ist
MACH ProForms GmbH 25.1 27
28 Für PDF bedeutet das, dass
29
30 * die aktuelle Formularversion aktiv ist
31
MACH ProForms GmbH 20.1 32 Die API wurde nicht für den Browser gebrauch konzipiert. Um die Anbindung zu testen, werden externe Tools wie beispielsweise "Insomnia" oder "Postman" empfohlen.
MACH ProForms GmbH 1.1 33
MACH ProForms GmbH 20.1 34 ## Ausgabeformate
MACH ProForms GmbH 1.1 35
MACH ProForms GmbH 20.1 36 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.
MACH ProForms GmbH 1.1 37
MACH ProForms GmbH 20.1 38 ### Ausgabe im JSON-Format
MACH ProForms GmbH 1.1 39
MACH ProForms GmbH 20.1 40 Werden keine Header-Parameter mitgegeben, erfolgt die Ausgabe standardmäßig im JSON-Format. Hierbei wird eine Ausgabe erzeugt, welche verschiedene Felder beinhaltet.
MACH ProForms GmbH 1.1 41
MACH ProForms GmbH 20.1 42 ### Ausgabe im CSV-Format
MACH ProForms GmbH 1.1 43
MACH ProForms GmbH 20.1 44 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.
MACH ProForms GmbH 1.1 45
MACH ProForms GmbH 20.1 46 ## Authentifizierung
MACH ProForms GmbH 1.1 47
MACH ProForms GmbH 25.2 48 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.
MACH ProForms GmbH 1.1 49
MACH ProForms GmbH 21.1 50 Die erforderlichen Authentifizierungsdaten dienen zu Demonstrationszwecken und lauten wie folgt:
MACH ProForms GmbH 25.1 51 _**Mandantennummer:**_ 77777777-0000
52 _**API-Schlüssel:**_ yIJNM2BS6LI0lS25Qa5xbtEK
MACH ProForms GmbH 17.1 53
MACH ProForms GmbH 25.1 54 > {{icon name="far fa-info-circle" size="3"/}} _**Hinweis:**_
55 >
MACH ProForms GmbH 20.1 56 > Die verwendete Authentifizierungsart ist eine Basis-Authentifizierung.
MACH ProForms GmbH 17.1 57
MACH ProForms GmbH 20.1 58 ### Authentifizierung als Supermandant
MACH ProForms GmbH 17.1 59
MACH ProForms GmbH 25.2 60 Bei der Authentifizierung als Supermandant liegen Berechtigungen auf alle im System hinterlegten Benutzer vor. Somit ist es möglich, alle Veröffentlichungen auf dem Formular-Server mandantenübergreifend auszulesen. Gleichzeitig bietet die Schnittstelle über einen Parameter die Möglichkeit jeweils nur die Veröffentlichungen für einen oder mehrere Mandanten auszulesen. Dieses Verhalten wird über den Parameter "organizationId" gesteuert.
MACH ProForms GmbH 17.1 61
MACH ProForms GmbH 20.1 62 #### Aufruf ohne Parameter "organizationId"
MACH ProForms GmbH 1.1 63
MACH ProForms GmbH 25.1 64 _**Pfadbeispiel:**_ <https://>/release-api/releases
65 _**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.
MACH ProForms GmbH 1.1 66
MACH ProForms GmbH 20.1 67 #### Aufruf mit Parameter "organizationId"
MACH ProForms GmbH 1.1 68
MACH ProForms GmbH 25.1 69 _**Pfadbeispiel:**_ <https://>/release-api/releases?organizationId=12345678-1234
70 _**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.
MACH ProForms GmbH 1.1 71
MACH ProForms GmbH 20.1 72 ### Authentifizierung als einzelner Mandant
MACH ProForms GmbH 1.1 73
MACH ProForms GmbH 20.1 74 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.
MACH ProForms GmbH 1.1 75
MACH ProForms GmbH 25.1 76 _**Pfadbeispiel:**_ <https://>/release-api/releases
MACH ProForms GmbH 1.1 77
MACH ProForms GmbH 25.2 78 Da mit dieser Art der Authentifizierung ein Mandant bereits eindeutig 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.
MACH ProForms GmbH 1.1 79
MACH ProForms GmbH 20.1 80 ## Beispielanwendung (Swagger-Dokumentation)
MACH ProForms GmbH 1.1 81
MACH ProForms GmbH 25.1 82 Um die Schnittstelle beispielhaft bedienen zu können, wird eine Demoanwendung unter folgender URL bereitgestellt: <https://vertrieb.form-solutions.de/release-api/swagger-ui/index.html>
MACH ProForms GmbH 1.1 83
MACH ProForms GmbH 28.1 84 > _**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 >/release-api/swagger-ui/index.html
MACH ProForms GmbH 23.1 85
MACH ProForms GmbH 20.1 86 Ebenso steht dem Anwender mit dieser Beispielanwendung eine technische Dokumentation zur Verfügung, welche die einzelnen Ressourcen detaillierter beschreibt.
MACH ProForms GmbH 1.1 87
MACH ProForms GmbH 20.1 88 ### Testdaten zu Demonstrationszwecken
MACH ProForms GmbH 1.1 89
MACH ProForms GmbH 25.1 90 _**organizationID:**_ 77777777-0000
91 _**secureID (Assistent):**_ 6050847cb2e9650a8ab19c83
92 _**secureID (PDF):**_ zGVrF5v6N8XzH5j7kJN84qtKrM8TA9A