Wiki-Quellcode von Search-API-Metaform

Zuletzt geändert von MACH ProForms GmbH am 12.01.2021

Zeige letzte Bearbeiter
1 > # ACHTUNG: Die Search-API-Metaform ist abgelöst durch die Search-API.
2
3 ## Allgemeines
4
5 Mittel zweier Restschnittstellen lassen sich flexible Anfragen zur Suche von Assistenten erstellen.
6 URL:
7
8 `<server-url>/metaform-search/assistant`
9
10 bzw.
11
12 `<server-url>/metaform-search/metaform`
13
14 Anfragen werden nur per POST mit dem Content-Type *application/json* entgegengenommen.
15
16 Nicht benötigte Anfrage-Parameter können entfallen. Lediglich ein oder mehrere Mandanten müssen angegeben werden. Das Anfrage-Objekt muss dabei folgende Struktur besitzen:
17
18 ```xml
19 {
20 "containsOne" : <Ergebnis muss eines der hier angegebenen
21 Stichworte enthalten>,
22 "containsExactly" : <Ergebnis muss die hier angegebene Phrase komplett beinhalten>,
23 "containsAll" : <Ergebnis muss alle hier angegebnen Stichworte enthalten>,
24 "without" : <Ergebnis darf keines der hier angegebenen
25 Stichworte enthalten>,
26 "organizationFilters" : [
27 {
28 "id" : <Mandant, dessen Formulare gesucht werden sollen, z.B. "22222222-2222">,
29 "versionStatus" : [
30 <Freigabestatus, auf den/die das Ergebnis für diesen Mandant beschränkt werden soll:
31 "DRAFT" - Entwurf
32 "READY_FOR_APPROVAL" - Zur Freigabe bereit
33 "APPROVAL" - Freigabe erfolgt
34 >
35 ],
36 "federalStates" : [
37 <Bundesländer, auf die das Ergebnis für diesen Mandant beschränkt werden soll:
38 "BB", "BE", "BW", "BY", "HB", "HE",
39 "HH", "MV", "NI", "NW", "RP", "SH",
40 "SL", "SN", "ST", "TH"
41 >
42 ]
43 }
44 ],
45 "fields" : [
46 <Liste der Felder, die nach den o.g. Begriffen durchsucht werden sollen. Z.B.:
47 "identifier" - Formularnummer
48 "i18n.i18nItems.de" - Formularname
49 "description" - Beschreibung
50 Es sind prinzipiell alle Felder durchsuchbar,
51 die auch im Ergebnis enthalten sind.
52 >
53 ],
54 "category" : <Zu durchsuchende Kategorie
55 - dabei nur den numerischen Wert (als Text angeben).
56 Z.B.:
57 "010" - Allgemeines,
58 "940" - Steuern - Gebühren >,
59 "changedAfter" : <Nur Ergebnisse liefern, die seit dem übergebenen Datum geändert wurden.
60 Als Format sind die Millisekunden seit 01.01.1970 0:00 GMT anzugeben.>,
61 "createdAfter" : <Nur Ergebnisse liefern, die seit dem übergebenen Datum erzeugt wurden.
62 Als Format sind die Millisekunden seit 01.01.1970 0:00 GMT anzugeben.>
63 }
64 ```
65
66
67 Das Ergebnis wird als JSON-Array zurückgeliefert. Jedes enthaltene Objekt entspricht den Metadaten eines Assistenten.
68
69 Beispiele für eine umfassende Abfrage aller freigegebenen Verlags-Formulare:
70
71 ```xml
72 {
73 "organizationFilters" : [
74 {
75 "id" : "22222222-2222",
76 "versionStatus" : ["APPROVAL"]
77 }
78 ]
79 }
80 ```
81
82 ___
83
84 ## Detailabfrage
85
86 Ist die ID eines Objekts bekannt, kann ein einzelner Datensatz über folgende URLs abgerufen werden:
87
88 `<server-url>/metaform-search/assistant/<ID>`
89
90 bzw.
91
92 `<server-url>/metaform-search/metaform/<ID>`
93
94 Ein einfaches *GET* liefert hierbei ein einzelnes JSON-Objekt zurück.
95
96 ___
97
98 ## Versionsabfrage
99
100 Ist nicht nur die letzte (freigegebene) Version von Interesse, sondern alle Versionen eines Assistenten, können folgende URLs genutzt werden:
101
102 ```xml
103 <server-url>/metaform-search/assistant/versions/
104 <Mandant des Suchenden - zur Bundeslandbegrenzung>/
105 <Mandant des Assistenten>/
106 <Formularnummer (identifier)>
107 ```