Änderungen von Dokument Search-API
Zuletzt geändert von MACH ProForms GmbH am 25.06.2024
Von Version 1.1
bearbeitet von MACH ProForms GmbH
am 08.10.2020
am 08.10.2020
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 10.1
bearbeitet von MACH ProForms GmbH
am 24.06.2024
am 24.06.2024
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. Dokumentation1 +xwiki:XWiki.fweise - Inhalt
-
... ... @@ -1,103 +1,55 @@ 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 Folgendengenauerbeschrieben werden.3 +MACH ProForms 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 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. 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.015 - -Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein.9 +* Der Formularserver benötigt mindestens das Release mit der Version 4.51.0. 10 +* Es muss für die Authentifizierung die Mandantennummer und der API-Key vorhanden sein. 16 16 17 - ___12 +## Verwendung der Schnittstelle 18 18 19 - ##Verwenden der Schnittstelle14 +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 -## #Einstiegspunkt16 +## Einschränkungen 22 22 23 - DadieSchnittstelleauf dem REST-Standardberuht, kanndiese übereine URL erreicht werden. Hierbei gibtes einen festen Basispfad und einen entsprechendenEndpunkt. Der Basispfad istbeijedemAufruf gleich,wobei sich die Endpunkteje nach Funktionunterscheidenönnen.18 +Im jetzigen Zustand der Schnittstelle bilden sich folgende Einschränkungen: 24 24 25 -```javascript 26 -Basispfad: 27 -https://<server-name>/search/api 28 -``` 20 +* Die API wurde nicht für den Browser gebrauch konzipiert. Um die Anbindung zu testen, werden externe Tools wie beispielsweise "Insomnia" oder "Postman" empfohlen. 29 29 30 -## ##Endpunkte22 +## Suchverhalten 31 31 32 -Ein EndpunktsprichteineFunktionalität derSchnittstelle an.Da derBasispfadimmergleich ist,können überdiverseEndpunktemehrere Funktionalitätenindie Schnittstelle verbaut werden.ImFolgenden wirdineAuflistungaller aktuell unterstütztenEndpunkteaufgeführt.24 +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 26 +* Den Status "Freigegeben" aufweisen 27 +* Eine "Veröffentlichung" muss existieren 28 +* Muss am Datum der Abfrage aktiv sein (falls das Formular ein Enddatum hat, darf dieses nicht in der Vergangenheit liegen) 29 +* Muss von einem der folgenden Mandanten erstellt worden sein: Dem abfragenden Mandanten oder einem seiner Verlagsmandanten 36 36 37 -Pfadbeispiel: https://<server-name>/search/api/forms 38 -``` 31 +## 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.* 41 - 42 -```javascript 43 -Endpunkt: /forms/assistants 44 - 45 -Pfadbeispiel: https://<server-name>/search/api/forms/assistants 46 -``` 47 - 48 -*Beschreibung: Unter diesem Endpunkt können alle Assistenten, auf welche die entsprechenden Zugriffsberechtigungen für den angemeldeten Benutzer vorliegen, abgefragt werden.* 49 - 50 -```javascript 51 -Endpunkt: /forms/pdfs 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 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 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: 35 +Die erforderlichen Authentifizierungsdaten dienen zu Demonstrationszwecken und lauten wie folgt: 36 +_**Mandantennummer:**_ 77777777-0000 37 +_**API-Schlüssel:**_ yIJNM2BS6LI0lS25Qa5xbtEK 81 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* 39 +> {{icon name="far fa-info-circle" size="3"/}} _**Hinweis:**_ 40 +> 41 +> Die verwendete Authentifizierungsart ist eine Basis-Authentifizierung. 87 87 88 -> ***Hinweis:*** 89 -> Die verwendete Authentifizierungsart ist eine [Basis-Authentifizierung](https://de.wikipedia.org/wiki/HTTP-Authentifizierung#Basic_Authentication). 43 +## Beispielanwendung (Swagger-Dokumentation) 90 90 91 - ###Ausgabeformat45 +Um die Schnittstelle beispielhaft bedienen zu können, wird eine Demoanwendung unter folgender URL bereitgestellt: <https://vertrieb.form-solutions.de/search/api/swagger-ui/index.html> 92 92 93 - DieSchnittstelle lieferthreDatenimStandardformatJSON zurück. DerdetaillierteAufbauunddieBedeutungderinzelnenFelderkönnen[[hier|Main.02_FSSchnittstellen.03_SearchAPI.01_Resources]] entnommenwerden.47 +> _**Achtung**_ Die oben verlinkte Swagger-Dokumentation greift auf den MACH ProForms internen Vertriebsserver zu. Um die Dokumentation auf anderen Servern einzusehen muss die URL folgendem Format entsprechen: < BASIS_URL >/search/api/swagger-ui/index.html 94 94 95 - ###Einschränkungen49 +Ebenso steht dem Anwender mit dieser Beispielanwendung eine technische Dokumentation zur Verfügung, welche die einzelnen Ressourcen detaillierter beschreibt. 96 96 97 - ImjetzigenZustandder Schnittstelle bilden sich folgende Einschränkungen:51 +### Testdaten zu Demonstrationszwecken 98 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 - 53 +_**organizationID:**_ 77777777-0000 54 +_**leikaID:**_ 99102013000000 (Hundesteuer) 55 +_**ozgID:**_ 10160