レコードの作成

レコードを作成するには、HTTP POST メソッドを使用してデータベース名とレイアウトを records API エンドポイントで指定します。

HTTP メソッド

POST

URL

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

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

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

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

HTTP ヘッダ

Content-Type: application/json

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

引数

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

例:

コピー
{
  "fieldData": {
    ...
  },
  ...
}

各フィールドのデフォルト値が空のレコードを作成するには、引数として空のデータオブジェクトを JSON 形式で指定します。その他のオプションのリクエストボディの引数は次のとおりです:

例:

コピー
{
  "fieldData": { } 
}

その他のオプションのリクエストボディの引数:

  • options - データを書き込むとき、これらのオプションで次を制御できます:

    • entrymode - フィールドに [データの入力時にユーザによる上書きを許可する] 入力値の制限オプションが選択されているかどうかを無視して代わりにこのオプションを使用します。値「script」はフィールドのデータ入力値の制限の要件を無視します (スクリプトがこれらの要件を無視するためにこのように名付けられました)。値「user」 (デフォルト) はフィールドの入力値の制限の要件に従います。

    • prohibitmode - フィールドに [データ入力時の値変更の禁止] 入力値の自動化オプションが選択されているかどうかを無視して代わりにこのオプションを使用します。値「script」はフィールドの入力値の自動化の要件を無視します (スクリプトがこれらの要件を無視するためにこのように名付けられました)。値「user」 (デフォルト) はフィールドの入力値の自動化の要件に従います。

  • dateformats - 日付およびタイムスタンプフィールドの形式を指定します。米国形式の場合は値が 0、ファイルロケールの形式の場合は 1、ISO 8601 形式の場合は 2 です。指定されていない場合、デフォルト値は 0 です。

  • script.prerequestscript.presortscript - リクエストの一部として FileMaker スクリプトを実行します。「別のリクエストによるスクリプトの実行」を参照してください。

応答

作成されたレコードのレコード ID、およびエラーコード 0 を表示するメッセージ配列。

例:

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

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

リクエストの例:

コピー
curl --request POST \
  --url https://ServerDomain/fmi/data/vLatest/databases/DatabaseName/layouts/LayoutName/records \
  --header 'Authorization: Bearer c4d2e429122e9cdeda19bb23c55cd2a8f282c3cc50c60943a110' \
  --header 'content-type: application/json' \
  --data '{"fieldData": {"文字列フィールド": "値_1"}, "portalData": {"portalObject": [{"文字列フィールド": "値_1"}]}}'

リクエストの例:

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

メモ 

  • FileMaker Data API を使用してレコードを作成する際は (上記 entrymode オプションで上書きされない限り) フィールドの入力値の制限がデフォルトで強制されます。フィールドの入力値の制限が強制されていてデータがフィールドの入力値の制限を満たしていない場合、エラーメッセージが返されてレコードは作成されません。