Modifier un enregistrement

Pour modifier un enregistrement, utilisez une méthode HTTP PATCH avec le point de terminaison API records en indiquant le nom de la base de données, le modèle et l'identifiant de l'enregistrement.

Méthode HTTP

PATCH

URL

/fmi/data/version/databases/nom-base/layouts/nom-modèle/records/id-enregistrement

version : la version FileMaker Data API demandée peut utiliser v1, v2 ou vLatest

nom-base est le nom de la base de données hébergée

nom-modèle est le nom du modèle servant de contexte à la modification de l'enregistrement

id-enregistrement est l'identifiant de l'enregistrement à modifier

En-tête HTTP

Content-Type: application/json

Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données

Paramètres

Données d'enregistrement au format JSON contenant des paires rubrique/valeur à mettre à jour. A l'aide de la spécification portalData, ces données peuvent spécifier des enregistrements liés ou des tables externes se trouvant dans le modèle. Un nom de table externe peut être le nom de l'objet tel qu'indiqué dans l'Inspecteur de FileMaker Pro ou le nom de la table liée.

Seules les rubriques que vous indiquez sont mises à jour. Les autres rubriques de l'enregistrement restent inchangées. Si « {} » est fourni comme valeur fieldData, l'enregistrement cible n'est pas mis à jour.

Paramètre facultatif : identifiant de modification (modId). En indiquant un identifiant de modification, vous avez la garantie de modifier la version actuelle d'un enregistrement. Si la valeur de l'identifiant de modification ne correspond pas à la valeur actuelle de l'identifiant de modification figurant dans la base de données, l'enregistrement n'est pas modifié.

Par exemple :

Copier

  "fieldData"
    {
      "Prénom": "Jean",
      "deleteRelated": "Commandes.3"
    },
  "portalData"
    {
       "TableEmplois": [
          { 
             "recordId": "70"
             "modId": "4"
              "TableEmplois::Nom": "Sous-traitant" 
          } 
       ]
    }
}

Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres script.prerequest, script.presort et script dans le corps de la requête. Consultez la section Exécuter des scripts FileMaker.

Réponse

Le corps de réponse et un tableau de messages indiquant un code d'erreur de 0.

Par exemple :

Copier
{
  "response": {
    "modId": "3"
  },
  "messages": [
    {
      "code": "0",
      "message": "OK"
    }
  ]
}

Consultez la section Codes d'erreur.

Remarques 

  • Quand vous modifiez des enregistrements avec FileMaker Data API, vous validez les rubriques. Si la validation des rubriques n'a pas lieu, vous recevez un message d'erreur et l'enregistrement n'est pas mis à jour.

  • Pour supprimer un enregistrement lié, vous pouvez utiliser la syntaxe deleteRelated.

    Par exemple, pour supprimer un seul enregistrement avec l’identifiant « 3 » de la table liée « Commandes » :

    "deleteRelated" : "Commandes.3"

    Par exemple, pour supprimer tous les enregistrements avec les identifiants « 7 » et « 9 » de la table liée « Commandes » :

    "deleteRelated" : ["Commandes.7", "Commandes.9"]