Exécuter un script avec une autre requête

Pour exécuter un script FileMaker dans le cadre d'une autre requête, insérez les paramètres script.prerequest, script.presort et script dans le corps de la requête.

Paramètre

Valeur

script

Nom du script à exécuter après l'action indiquée par l'appel d'API (obtenir, créer, modifier, dupliquer, supprimer, rechercher) et après le tri suivant.

script.param

Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script.

script.prerequest Nom du script à exécuter avant l'action indiquée par l'appel d'API et le tri suivant.
script.prerequest.param Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script.prerequest.
script.presort Nom du script à exécuter après l'action indiquée par l'appel d'API mais avant le tri suivant.
script.presort.param Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script.presort.

Ordre d'exécution du script

Vous pouvez préciser les paramètres script.prerequest, script.presort et script dans un seul et même appel d'API. Définissez les mots-clés une fois seulement. L'hôte traite ces paramètres dans le cadre de l'appel d'API, dans cet ordre :

  1. Accédez au modèle indiqué dans l'URL.

  2. Si nécessaire, exécutez le script nommé d'après script.prerequest.

  3. Exécutez l'action spécifiée par l'appel d'API (obtenir, créer, modifier, dupliquer, supprimer, rechercher).

  4. Si nécessaire, exécutez le script nommé d'après script.presort.

  5. Exécutez le tri indiqué par l'appel d'API :

  6. Si nécessaire, exécutez le script nommé d'après script.

  7. Renvoyez le jeu de résultats pour cet appel d'API en appliquant si nécessaire les paramètres de décalage et de limite.

Remarques 

  • Pour les appels utilisant des méthodes HTTP GET et HTTP DELETE, les paramètres de script sont intégrés en tant que paramètres URL. Consultez les sections Obtenir un seul enregistrement, Obtenir une plage d'enregistrements et Supprimer un enregistrement.

    Par exemple :

    https://<hôte>/fmi/data/v1/databases/clients/layouts/saisie/records/14?script=MàJTraitement&script.param=14

  • Pour les appels utilisant les méthodes HTTP POST et HTTP PATCH, les paramètres de script sont intégrés dans le corps de la requête. Consultez les sections Créer un enregistrement, Modifier un enregistrement et Effectuer une requête de recherche.

    Par exemple, dans une requête de recherche :

    Copier
    {
      "query": [
        {
          "Titre": "Responsable bureau"
        }
      ],
      "script.prerequest": "Supprimer les doublons",
      "script.prerequest.param": "100"
    }
  • Pour les appels qui utilisent une méthode HTTP Get, l'ensemble d'enregistrements trouvés renvoyé reflète à la fois le résultat de l'appel API et les effets de tout script exécuté dans le cadre de la même requête.

  • Vous pouvez indiquer une seule chaîne de texte pour les paramètres de script script.param, script.prerequest.param et script.presort.param. Pour transmettre plusieurs paramètres, vous pouvez créer une chaîne délimitant les paramètres et faire en sorte que votre script analyse chacun des paramètres. Par exemple, transmettez param1|param2|param3 en tant que liste, en utilisant le caractère | de codage URL de la façon suivante : param1%7Cparam2%7Cparam3

  • Les résultats de script sont renvoyés à l'aide des paramètres scriptResult, scriptResult.prerequest et scriptResult.presort dans les données JSON. Un résultat de script correspond à la valeur renvoyée dans l'option Résultat de texte de l'action de script Fin de script qui met fin au script. Les erreurs de script sont renvoyées à l'aide des paramètres scriptError, scriptError.prerequest et scriptError.presort dans les données JSON. (Les erreurs de script ne sont pas renvoyées à l'aide d'un code d'état HTTP.)