Search-API-Metaform

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 kann folgende Felder enthalten:

Feld Typ Beschreibung

containsOne

Array<String>

Ergebnis muss mindestens eines der angegebenen Stichworte enthalten.

containsExactly

String

Ergebnis muss die angegebene Phrase exakt enthalten.

containsAll

Array<String>

Ergebnis muss alle angegebenen Stichworte enthalten.

without

Array<String>

Ergebnis darf keines der angegebenen Stichworte enthalten.

organizationFilters

Array<Object>

Liste von Mandanten, auf die die Suche beschränkt werden soll (mindestens ein Eintrag erforderlich). Jedes Objekt enthält:

  • id – Mandant, dessen Formulare gesucht werden sollen (z. B. "22222222-2222")

  • versionStatus – Freigabestatus, auf den das Ergebnis für diesen Mandanten 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 Mandanten beschränkt werden soll: BB, BE, BW, BY, HB, HE, HH, MV, NI, NW, RP, SH, SL, SN, ST, TH

fields

Array<String>

Liste der Felder, die nach den o. g. Begriffen durchsucht werden sollen, z. B.:

  • identifier – Formularnummer

  • i18n.i18nItems.de – Formularname

  • description – Beschreibung

Es sind grundsätzlich alle Felder durchsuchbar, die auch im Ergebnis enthalten sind.

category

String

Zu durchsuchende Kategorie, als numerischer Wert in Textform, z. B. "010" (Allgemeines), "940" (Steuern – Gebühren).

changedAfter

Number

Nur Ergebnisse, die seit dem angegebenen Datum geändert wurden. Format: Millisekunden seit 01.01.1970, 0:00 GMT.

createdAfter

Number

Nur Ergebnisse, die seit dem angegebenen Datum erzeugt wurden. Format: Millisekunden seit 01.01.1970, 0:00 GMT.

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

Beispiele:

Minimale Abfrage aller freigegebenen Verlags-Formulare:

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

Vollständige Abfrage mit allen optionalen Feldern:

{
  "containsOne": ["Antrag", "Formular"],
  "containsExactly": "Erstattung von Reisekosten",
  "containsAll": ["Reise", "Kosten"],
  "without": ["Entwurf"],
  "organizationFilters": [
    {
      "id": "22222222-2222",
      "versionStatus": ["APPROVAL"],
      "federalStates": ["BY", "BW"]
    }
  ],
  "fields": ["identifier", "i18n.i18nItems.de", "description"],
  "category": "010",
  "changedAfter": 1609459200000,
  "createdAfter": 1577836800000
}

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)>