ACHTUNG: Die Search-API-Metaform ist abgelöst durch die Search-API.

Allgemeines

Mittel zweier Restschnittstellen lassen sich flexible Anfragen zur Suche von Assistenten erstellen. URL:

<server-url>/metaform-search/assistant

bzw.

<server-url>/metaform-search/metaform

Anfragen werden nur per POST mit dem Content-Type application/json entgegengenommen.

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:

{
"containsOne" : <Ergebnis muss eines der hier angegebenen
Stichworte enthalten>,
"containsExactly" : <Ergebnis muss die hier angegebene Phrase komplett beinhalten>,
"containsAll" : <Ergebnis muss alle hier angegebnen Stichworte enthalten>,
"without" : <Ergebnis darf keines der hier angegebenen
Stichworte enthalten>,
"organizationFilters" : [
{
"id" : <Mandant, dessen Formulare gesucht werden sollen, z.B. "22222222-2222">,
"versionStatus" : [
<Freigabestatus, auf den/die das Ergebnis für diesen Mandant beschränkt werden soll:
"DRAFT" - Entwurf
"READY_FOR_APPROVAL" - Zur Freigabe bereit
"APPROVAL" - Freigabe erfolgt
>
],
"federalStates" : [
<Bundesländer, auf die das Ergebnis für diesen Mandant beschränkt werden soll:
"BB", "BE", "BW", "BY", "HB", "HE",
"HH", "MV", "NI", "NW", "RP", "SH",
"SL", "SN", "ST", "TH"
>
]
  }
],
"fields" : [
<Liste der Felder, die nach den o.g. Begriffen durchsucht werden sollen. Z.B.:
"identifier" - Formularnummer
"i18n.i18nItems.de" - Formularname
"description" - Beschreibung
Es sind prinzipiell alle Felder durchsuchbar,
die auch im Ergebnis enthalten sind.
>
],
"category" : <Zu durchsuchende Kategorie
- dabei nur den numerischen Wert (als Text angeben).
Z.B.:
"010" - Allgemeines,
"940" - Steuern - Gebühren >,
"changedAfter" : <Nur Ergebnisse liefern, die seit dem übergebenen Datum geändert wurden.
Als Format sind die Millisekunden seit 01.01.1970 0:00 GMT anzugeben.>,
"createdAfter" : <Nur Ergebnisse liefern, die seit dem übergebenen Datum erzeugt wurden.
Als Format sind die Millisekunden seit 01.01.1970 0:00 GMT anzugeben.>
}

Das Ergebnis wird als JSON-Array zurückgeliefert. Jedes enthaltene Objekt entspricht den Metadaten eines Assistenten.

Beispiele für eine umfassende Abfrage aller freigegebenen Verlags-Formulare:

{
"organizationFilters" : [
 {
"id" : "22222222-2222",
"versionStatus" : ["APPROVAL"]
 }
]
}

Detailabfrage

Ist die ID eines Objekts bekannt, kann ein einzelner Datensatz über folgende URLs abgerufen werden:

<server-url>/metaform-search/assistant/<ID>

bzw.

<server-url>/metaform-search/metaform/<ID>

Ein einfaches GET liefert hierbei ein einzelnes JSON-Objekt zurück.


Versionsabfrage

Ist nicht nur die letzte (freigegebene) Version von Interesse, sondern alle Versionen eines Assistenten, können folgende URLs genutzt werden:

<server-url>/metaform-search/assistant/versions/
<Mandant des Suchenden - zur Bundeslandbegrenzung>/
<Mandant des Assistenten>/
<Formularnummer (identifier)>
Tags: