Créer un webhook

Pour créer un webhook, utilisez la méthode POST. Le corps POST doit contenir au moins les paramètres webhook et tableName au format JSON.

Composant Description

Méthode HTTP

POST

URL

https://hôte/fmi/odata/version/nom-base/Webhook.Add

hôte : nom d'hôte FileMaker Cloud ou FileMaker Server.

version : version OData, toujours v4.

nom-base : nom de la base de données hébergée.

Exemple : /fmi/odata/v4/GestionDeContact/Webhook.Add

Paramètres

Exemple JSON :

Copier
{
  "webhook": "https://mon.exemple.com:8080/webhook",
  "endpointHeaders": {
    "Content-Type": "application/json"
  },
  "queryHeaders": {
     "Prefer": "fmodata.entity-ids",
     "Accept": "application/json;IEEE754Compatible=true"
  },
  "tableName": "maTable",
  "notifySchemaChanges": true,
  "select": "CléPrimaire,CrééPar",
  "filter": "CrééPar eq 'Admin'",
  "maxFailedAttempts": 10
}

Remarques 

  • queryHeaders contrôle la façon dont la charge utile du webhook est générée, tandis que les endpointHeaders (ou les anciens headers) sont toujours envoyés au point de terminaison sans affecter le traitement. Dans l'exemple ci-dessus, queryHeaders avec :

    • "Prefer": "fmodata.entity-ids" fera en sorte que la charge utile du webhook utilise des ID d'entité au lieu des noms de table et de rubrique.

    • "Accept": "application/json;IEEE754Compatible=true" inclura les valeurs décimales entre guillemets.

  • maxFailedAttempts s'applique au webhook créé. Le réglage de maxFailedAttempts sur 0 indique qu'il n'y a pas de maximum et que le webhook essaiera à nouveau d'envoyer la charge utile indéfiniment jusqu'à ce qu'elle soit reçue avec succès ou que le webhook soit supprimé. Les nouvelles tentatives sont enregistrées dans le fichier fmodata.log.

  • Si seuls les paramètres webhook et tableName sont inclus dans la requête, les paramètres suivants utiliseront leurs valeurs par défaut :

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