関連アイテムの更新

関連するアイテムを同時に更新するには、ExecuteAction API が利用できます。

ExecuteAction API#

  • ExecuteAction:指定アクションを実行する
  • Method:POST
  • Request URL Format:/api/v0/applications/:app-id/datastores/:datastore-id/items/action/:item-id/:action-id

使い方#

複数の関連するデータベース内のItem値を更新するには、ExecuteAction(またはCreateItem, UpdateItemも同様)のAPIで、payloadに related_ds_items : [ ... ] という子供Itemへの追加、更新、削除リクエストを埋め込んでPOSTします。

item が親データ(estimate)

"item": {
"5e256923aeae8e212cb2e03b": "value", // text tyepe
"58bbaa27fbfcba6098746061": "5d4c058baa39555618ac9e98", // select type
"58bbaa27fbfcba6098746067" : [ "58bbaa27fbfcba6098746015", "596e2327fbfcbab8283dde09"] // checkbox type
},

related_ds_items に関連する明細データを含めます

"related_ds_items" : {
"estimateDetail" : [{明細行 },{ },{ },{ }... ]
},

ensure_transaction : true を指定すると、上記ヘッダー明細のデータ更新がトランザクション管理(成功 or すべてロールバック)されます。

利用上の注意#

一括更新はできないので、親アイテムをひとつずつ指定して更新します。

このAPIは、トランザクション処理のようなロールバック(rollback)機能は持っておりません。定期的に不整合なデータをチェックしたり、失敗した場合のリトライしたりするプログラムを自前で用意する必要があります。

関連ページ#