Webhook erstellen

Verwenden Sie zum Erstellen eines Webhooks die POST-Methode. Der POST-Body muss mindestens die Parameter webhook und tableName im JSON-Format enthalten.

Komponente Beschreibung

HTTP-Methode

POST

URL

https://host/fmi/odata/version/datenbankname/Webhook.Add

host – FileMaker Cloud- oder FileMaker Server-Hostname

version – die OData-Version, immer v4

datenbankname – der Name der bereitgestellten Datenbank

Beispiel: /fmi/odata/v4/KontaktMgmt/Webhook.Add

Parameter

JSON-Beispiel:

Kopieren
{
  "webhook": "https://mein.beispiel.com:8080/webhook",
  "endpointHeaders": {
    "Content-Type": "application/json"
  },
  "queryHeaders": {
     "Prefer": "fmodata.entity-ids",
     "Accept": "application/json;IEEE754Compatible=true"
  },
  "tableName": "meineTabelle",
  "notifySchemaChanges": true,
  "select": "Primärschlüssel,ErstelltVon",
  "filter": "ErstelltVon eq 'Admin'",
  "maxFailedAttempts": 10
}

Hinweise 

  • queryHeaders steuern wie die Webhook-Payload generiert wird, während endpointHeaders (oder die veralteten Header) immer an den Endpunkt gesendet werden, ohne die Verarbeitung zu beeinflussen. Im obigen Beispiel queryHeaders mit:

    • "Prefer": "fmodata.entity-ids" bewirkt, dass die Webhook-Payload Entitäts-IDs anstelle von Tabellen- und Feldnamen verwendet.

    • "Accept": "application/json;IEEE754Compatible=true" setzt Dezimalwerte in Anführungszeichen.

  • maxFailedAttempts gilt für den erstellten Webhook. Wenn maxFailedAttempts auf 0 gesetzt wird, bedeutet dies, dass keine Obergrenze festgelegt ist und der Webhook den Versand der Nutzlast so lange wiederholt, bis die Nutzlast erfolgreich empfangen wurde oder der Webhook gelöscht wird. Wiederholungsversuche werden in der Datei „fmodata.log“ protokolliert.

  • Wenn die Anfrage nur „webhook“ und „tableName“ enthält, werden für die folgenden Parameter die Standardwerte verwendet:

    Kopieren
    {
      ...
      "headers": {},
      "notifySchemaChanges": false,
      "maxFailedAttempts": 0,
      "select": "",
      "filter": ""
     }