Ausführen eines Scripts mit einer anderen Anforderung

Um ein FileMaker-Script als Teil einer anderen Anforderung auszuführen, schließen Sie die Parameter script.prerequest, script.presort und script im Anforderungsteil ein.

Parameter

Wert

script

Der Name des Scripts, das ausgeführt werden soll, nachdem die vom API-Aufruf angegebene Aktion (abrufen, erstellen, bearbeiten, duplizieren, löschen, suchen) und die anschließende Sortierung abgeschlossen sind.

script.param

Die Textzeichenfolge, die als Parameter für das durch script angegebene Script fungieren soll.

script.prerequest Der Name des Scripts, das vor der vom API-Aufruf angegebenen Aktion und der anschließenden Sortierung ausgeführt werden soll.
script.prerequest.param Die Textzeichenfolge, die als Parameter für das durch script.prerequest angegebene Script fungieren soll.
script.presort Der Name des Scripts, das nach der vom API-Aufruf angegebenen Aktion, jedoch vor der anschließenden Sortierung ausgeführt werden soll.
script.presort.param Die Textzeichenfolge, die als Parameter für das durch script.presort angegebene Script fungieren soll.

Ausführungsreihenfolge von Scripts

Sie können die Parameter script.prerequest, script.presort und script in einem einzigen API-Aufruf angeben. Jedes Schlüsselwort kann nur einmal angegeben werden. Der Host verarbeitet diese Parameter als Teil des API-Aufrufs in dieser Reihenfolge:

  1. Wechsel in das Layout, das im Script angegeben ist

  2. Ausführen des durch script.prerequest bezeichneten Scripts, falls angegeben

  3. Ausführen der durch den API-Aufruf angegebenen Aktion (abrufen, erstellen, bearbeiten, duplizieren, löschen, suchen)

  4. Ausführen des durch script.presort bezeichneten Scripts, falls angegeben

  5. Ausführen der im API-Aufruf angegebenen Sortierung:

  6. Ausführen des durch script bezeichneten Scripts, falls angegeben

  7. Zurückgeben der Ergebnismenge für den API-Aufruf mit angewandten offset- und limit-Parametern, sofern angegeben

Hinweise 

  • Für Aufrufe, die die HTTP GET- und HTTP DELETE-Methode verwenden, werden diese Scriptparameter als URL-Parameter angegeben. Siehe dazu Abrufen eines einzelnen Datensatzes, Abrufen eines Datensatzbereichs und Datensatz löschen.

    Beispiel:

    https://<host>/fmi/data/v1/databases/kunden/layouts/eingabe/records/14?script=UpdateVerarbeitung&script.param=14

  • Für Aufrufe, die die HTTP POST- und HTTP PATCH-Methoden verwenden, werden die Scriptparameter im Hauptteil der Abfrage angegeben. Siehe Erstellen eines Datensatzes, Bearbeiten eines Datensatzes und Suchen.

    Zum Beispiel in einer Suchabfrage:

    Kopieren
    {
      "query": [
        {
          "Titel": "Büroleiter"
        }
      ],
      "script.prerequest": "Duplikate entfernen",
      "script.prerequest.param": "100"
    }
  • Bei Aufrufen, die eine HTTP GET-Methode verwenden, spiegelt die zurückgegebene Ergebnismenge der Datensätze sowohl das Ergebnis des API-Aufrufs als auch die Auswirkungen aller Scripts wider, die als Teil derselben Abfrage ausgeführt werden.

  • Für die Scriptparameter script.param, script.prerequest.param und script.presort.param können Sie nur eine einzige Textzeichenfolge angeben. Um mehrere Parameter zu übergeben, können Sie einen String erstellen, der die Parameter begrenzt, und Ihr Script die einzelnen Parameter auslesen lassen. Übergeben Sie z. B. „param1|param2|param3“ als Liste mit dem Zeichen |, die so URL-kodiert ist: param1%7Cparam2%7Cparam3

  • Scriptergebnisse werden über die Parameter scriptResult, scriptResult.prerequest und scriptResult.presort in den JSON-Daten zurückgegeben. Ein Scriptergebnis ist der Wert, der in der Option „Textergebnis“ des Scriptschritts „Aktuelles Script verlassen“ zurückgegeben wird, der das Script beendet. Scriptfehler werden über die Parameter scriptError, scriptError.prerequest und scriptError.presort in den JSON-Daten zurückgegeben. (Scriptfehler werden nicht über einen HTTP-Statuscode zurückgegeben.)