Änderungen von Dokument Search-API

Zuletzt geändert von MACH formsolutions am 08.04.2026

Von Version 1.1
bearbeitet von MACH formsolutions
am 08.10.2020
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 13.1
bearbeitet von MACH formsolutions
am 08.04.2026
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,103 +1,47 @@
1 1  ## Allgemeines
2 2  
3 -Form-Solutions stellt eine Schnittstelle zur Verfügung, mit der die Suche angesprochen werden kann. Hierbei sollen alle Suchergebnisse angefragt werden können, welche auch über die Benutzeroberfläche zu erlangen sind. Damit ein solches Verhalten erzielt werden kann, bietet die Schnittstelle mehrere Parametrisierungsmöglichkeiten, die im Folgenden genauer beschrieben werden.
3 +MACH formsolutions stellt eine Schnittstelle zur Verfügung, mit der die Suche angesprochen werden kann. Hier können alle Suchergebnisse angefragt werden, welche auch über die Benutzeroberfläche zu erlangen sind.
4 +Die Architektur beruht auf dem REST-Standard. Wie bei allen von MACH formsolutions angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept.
5 +Die ausgelesenen Ergebnisdaten werden im JSON-Format ausgegeben.
4 4  
5 -Wie bei allen von Form-Solutions angebotenen Schnittstellen unterliegt auch diese einem Authentifizierungskonzept, welches anhand einer Demoanwendung ebenfalls in der Dokumentation aufgegriffen wird.
6 -Die ausgelesenen Ergebnisdaten werden im JSON-Format zurückgeliefert.
7 -
8 -___
9 -
10 10  ## Voraussetzungen
11 11  
12 12  Um die Search-API nutzen zu können sind folgende Voraussetzungen zu erfüllen:
13 13  
14 -- Der Formularserver benötigt mindestens das [Release](https://wiki.form-solutions.de/wiki/docwiki/view/Main/13_Release-Notes/) mit der Version 4.51.0
15 -- 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.
16 16  
17 -___
13 +## Verwendung der Schnittstelle
18 18  
19 -## Verwenden der Schnittstelle
15 +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. Damit die Suchlogik abgebildet und somit die Suchergebnisse gefiltert werden können, bietet die Schnittstelle einige Parameter an, die als Query-Parameter an die URL angefügt werden können. Weitere Verwendungsmöglichkeiten finden Sie in unserer Swagger-Dokumentation.
20 20  
21 -### Einstiegspunkt
17 +## Einschränkungen
22 22  
23 -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.
19 +Im jetzigen Stand der Entwicklung der Schnittstelle ergeben sich folgende Einschnkungen:
24 24  
25 -```javascript
26 -Basispfad:
27 -https://<server-name>/search/api
28 -```
21 +* Die API wurde nicht für den Browsergebrauch konzipiert. Um die Anbindung zu testen, werden externe Tools wie beispielsweise "Insomnia" oder "Postman" empfohlen.
29 29  
30 -#### Endpunkte
23 +## Suchverhalten
31 31  
32 -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. Im Folgenden wird eine Auflistung aller aktuell unterstützten Endpunkte aufgeführt.
25 +Ein Formular muss folgende Kriterien erfüllen, um mit der neuesten Version der Search-API gefunden werden zu können:
33 33  
34 -```javascript
35 -Endpunkt: /forms
27 +* Den Status "Freigegeben" aufweisen
28 +* Eine "Veröffentlichung" muss existieren
29 +* Muss am Datum der Abfrage aktiv sein (falls das Formular ein Enddatum hat, darf dieses nicht in der Vergangenheit liegen)
30 +* Muss von einem der folgenden Mandanten erstellt worden sein:
31 + * dem abfragenden Mandanten
32 + * einem seiner Verlagsmandanten
36 36  
37 -Pfadbeispiel: https://<server-name>/search/api/forms
38 -```
34 +## ​Authentifizierung
39 39  
40 -*Beschreibung: Unter diesem Endpunkt können alle Assistenten und PDF's, auf welche die entsprechenden Zugriffsberechtigungen für den angemeldeten Benutzer vorliegen, abgefragt werden.*
36 +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.
41 41  
42 -```javascript
43 -Endpunkt: /forms/assistants
38 +Einen API-Key können Sie beim Betreiber des Formularservers beantragen.
44 44  
45 -Pfadbeispiel: https://<server-name>/search/api/forms/assistants
46 -```
40 +## Beispielanwendung (Swagger-Dokumentation)
47 47  
48 -*Beschreibung: Unter diesem Endpunkt können alle Assistenten, auf welche die entsprechenden Zugriffsberechtigungen für den angemeldeten Benutzer vorliegen, abgefragt werden.*
42 +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.
49 49  
50 -```javascript
51 -Endpunkt: /forms/pdfs
44 +Die Adresse der Swagger-Anwendung der Search-API lautet `< Formularserveradresse >/search/api/swagger-ui.html`
45 +Um die Anwendung aufzurufen, setzen Sie die Adresse des jeweiligen Formularservers ein.
52 52  
53 -Pfadbeispiel: https://<server-name>/search/api/forms/pdfs
54 -```
55 -
56 -*Beschreibung: Unter diesem Endpunkt können alle PDF's, auf welche die entsprechenden Zugriffsberechtigungen für den angemeldeten Benutzer vorliegen, abgefragt werden.*
57 -
58 -#### Parameter
59 -
60 -Damit die Suchlogik abgebildet und somit die Suchergebnisse gefiltert werden können, bietet die Schnittstelle einige Parameter an, die als Query-Parameter an die URL angefügt werden können.
61 -
62 -- **organizationId**
63 -Beschreibung: Dieser Parameter filtert die Suchergebnisse auf einen speziellen Mandanten. Ist der Zugriff auf die angegebene Mandantenummer nicht erlaubt, so wird ein leeres JSON-Dokument zurückgeliefert.
64 -
65 -- **leikaId**
66 -Beschreibung: Dieser Parameter filter die Suchergebnisse auf eine oder mehrere LeiKa-ID's. Diese können kommasepariert eingetragen werden. Hierbei werden alle Assistenten und/oder PDFs im JSON Format zurückgeliefert, welche die gefilterten LeiKa-ID's beinhalten.
67 -
68 - ```javascript
69 - Beispiel: https://<server-name>/search/api/forms/pdfs?organizationId=22222222-2222&leikaId=12341234123412
70 - ```
71 - *Beschreibung: Mit diesem Beispiel werden alle PDF's für die Mandantennumer 22222222-2222 und der LeikaId 12341234123412 abgerufen, auf die der Zugriff anhand der Authentifizierung erlaubt ist.*
72 -
73 -**Hinweis:** Alle Parameter können gemeinsam bei jedem der oben genannten Endpunkte verwendet werden. In diesem Falle werden beim Filtern der Suchergebnisse alle angegebenen Parameter berücksichtigt.
74 -
75 -### Authentifizierung
76 -
77 -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 Fomularservers beantragt werden.
78 -
79 -Mit dem folgenden Link wird auf eine Oberfläche weitergeleitet, bei der die Schnittstelle auf ihre Funktionalität getestet werden kann.
80 -Die erforderlichen Authentifizierungsdaten dienen zu Demonstrationszwecken und lauten wie folgt:
81 -
82 -*Beispiel: [https://vertrieb.form-solutions.de/search/api/swagger-ui.html](https://vertrieb.form-solutions.de/search/api/swagger-ui.html)*
83 -<br>
84 -*Mandantennummer: 88888888-8888*
85 -<br>
86 -*API-Schlüssel: npcnqwpefwAFWFAFAFqwcqcqwc23rf23rzhbnerg*
87 -
88 -> ***Hinweis:***
89 -> Die verwendete Authentifizierungsart ist eine [Basis-Authentifizierung](https://de.wikipedia.org/wiki/HTTP-Authentifizierung#Basic_Authentication).
90 -
91 -### Ausgabeformat
92 -
93 -Die Schnittstelle liefert ihre Daten im Standardformat JSON zurück. Der detaillierte Aufbau und die Bedeutung der einzelnen Felder können [[hier|Main.02_FSSchnittstellen.03_SearchAPI.01_Resources]] entnommen werden.
94 -
95 -### Einschränkungen
96 -
97 -Im jetzigen Zustand der Schnittstelle bilden sich folgende Einschränkungen:
98 -
99 -- Die API wurde nicht für den Browser gebrauch konzipiert. Um die Anbindung zu testen, werden externe Tools wie beispielsweise *Insomnia* oder *Postman* empfohlen.
100 -
101 -- Die API bildet Stand heute noch nicht alle Funktionalitäten der Suche aus der Oberfläche ab. Diese sollen nach und nach sukzessive eingebunden werden.
102 -
103 -
47 +Für Funktionstests sind gültige Authentifizierungsdaten für den jeweiligen Server erforderlich (Mandantennummer und API-Key).