レコードの編集

レコードを編集するには、HTTP PATCH メソッドを使用してデータベース名、レイアウト、およびレコード ID を records API エンドポイントで指定します。

HTTP メソッド

PATCH

URL

/fmi/data/version/databases/database-name/layouts/layout-name/records/record-id

version – リクエストされた FileMaker Data API のバージョン。v1v2、または vLatest のいずれかを使用できます。

database-name – 共有データベースの名前

layout-name – レコード編集のためのコンテキストとして使用するレイアウトの名前

record-id – 編集するレコードのレコード ID

HTTP ヘッダ

Content-Type: application/json

Authorization: Bearer session-tokensession-token はデータベースセッションに固有の X-FM-Data-Access-Token の値です。

引数

更新するフィールド/値ペアが含まれた JSON 形式のレコードデータ。portalData の指定を使用してレイアウト上にある関連レコードまたはポータルをこのデータで指定することもできます。FileMaker Pro のインスペクタに表示されるオブジェクト名か、関連テーブル名のいずれかをポータル名にすることができます。

指定したフィールドのみが更新されます。レコード内の他のフィールドは変更されません。fieldData の値として「{}」を指定した場合、目的のレコードは更新されません。

オプションの引数: 修正 ID (modld)。修正 ID を指定すると、現在のバージョンのレコードを編集することができます。修正 ID の値がデータベース内の現在の修正 ID と一致しない場合、レコードは変更されません。

例:

コピー

  "fieldData"
    {
      "First Name": "Joe",
      "deleteRelated": "Orders.3"
    },
  "portalData"
    {
       "JobsTable": [
          { 
             "recordId": "70"
             "modId": "4"
              "JobsTable::Name": "Contractor" 
          } 
       ]
    }
}

リクエストのボディに script.prerequestscript.presort、および script 引数を含めることで、FileMaker スクリプトをこのリクエストの一部として実行することができます。「FileMaker スクリプトの実行」を参照してください。

応答

応答のボディ、およびエラーコード 0 を表示するメッセージ配列。

例:

コピー
{
  "response": {
    "modId": "3"
  },
  "messages": [
    {
      "code": "0",
      "message": "OK"
    }
  ]
}

エラー応答」を参照してください。

メモ 

  • FileMaker Data API を使用してレコードを編集する際はフィールドの入力値の制限が強制されます。データがフィールドの入力値の制限を満たしていない場合、エラーメッセージが返されてレコードは更新されません。

  • 関連レコードを削除するには、deleteRelated 構文を使用できます。

    ID が「3」の 1 つのレコードを関連テーブル「Orders」から削除する場合:

    "deleteRelated" : "Orders.3"

    ID が「7」および「9」のすべてのレコードを関連テーブル「Orders」から削除する場合:

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