メインコンテンツまでスキップ

ExecuteBatchAction

複数Itemアクションを実行する

Description

  • 同一アプリケーション内のアクションをまとめて実行します。
  • "ensure_transaction": trueを指定することで1つのトランザクションとして処理(エラー時はロールバック)できます。(ただし、ActionScript実行コードは同一Transactionに含まれません)
  • 新規・更新・削除アクションが順番に実行されますが、実行順序は保証されません。
  • 各アクションにおけるPre-ActionScriptは実行されません。

Method

POST

Request URL Format

/api/v0/applications/:app-id/BatchAction

Payload

Content-Type : application/json

{
"ensure_transaction": true, // true指定すると、関連アイテムの処理中一つでもエラーが発生するとすべての登録がロールバックされます。デフォルトはfalseであり、成功されたrelated_itemの登録・更新は反映され、エラーがあった明細についてはエラーメッセージが返されます。
"item_actions" : { // データストアごとに、アクションを配列で指定します。
"DATASTORE_A" : [
{
"operation" : 1, // new
"action_id" : "", // new actionID ※省略可 (省略するとデフォルトの新規アクションが利用される)
"item": {
"FIELD_ID1" : "data",
"FIELD_ID2" : "data",
"FIELD_ID3" : "data",
"FIELD_ID4" : "data",
},
"access_key_updates": {  // アイテム個別にアクセスキーを指定
"overwrite": true,  // アクセスキーを上書き保存(デフォルトはfalse:既存のキーに追加する)
"ignore_action_settings": true, // アクションに設定された公開設定を利用しない(このPayloadで指定したキーのみを付与する)
"apply_related_ds": true, // related_ds_itemsに指定したアイテムにも同様の設定を利用する
"groups_to_publish": ["GROUP1", "GROUP2"], // group display_idを指定(実行ユーザが保持するキーのみ指定可能)
"roles_to_publish": ["ADMIN", "MEMBER"], // role display_idを指定(実行ユーザが保持するキーのみ指定可能)
"users_to_publish": ["607c2a25844887b6855a12a9", "5f25956428dc5c55b463bc77" ] // user_idを指定(ワークスペース内に存在するuser_idを指定可能)
},
"as_params": {"param1": "value1", "param2": "value2",}, // ActionScriptへ任意のObject(型形式は自由)を渡すことができます。PRE/POST ActionScript双方に渡されます。 ActionScript内からは、 `data.as_params`として参照可能です。
"related_ds_items" : { // related_ds_itemsをネストさせることも可能。(同一Datastoreの複数ネストさせることは不可)
"関連データストア_A" : [{ },{ },{ },{ }... ] ,
"関連データストア_B" : [{ },{ },{ },{ }... ] ,
}
},{
"operation" : 2, // update
"action_id" : "Update2", // update actionID ※省略可 (省略するとデフォルトの更新アクションが利用される)
"i_id" : "58bbaa27fbfcba609874aaa3f", // 対象アイテムID
"item": {
"FIELD_ID1" : "data",
"FIELD_ID3" : "data"
}
},{
"operation" : 3, // delete
"i_id" : "58bbaa27fbfcba609874aqr45", // 対象アイテムID
},{
// アクションを複数指定可能。sample 省略
},{
// アクションを複数指定可能。sample 省略
}
],
"DATASTORE_B" : [
{
// sample 省略
},{
// sample 省略
},
],
"DATASTORE_C" : [
{
// sample 省略
},{
// sample 省略
},
]
},
"realtime_auto_link": true, // true指定すると、自動リンクの作成を同期実行する(同期実行となるため処理が少し遅くなります)
"access_key_updates": {  // アイテム全体にアクセスキーを指定
"overwrite": true,  // アクセスキーを上書き保存(デフォルトはfalse:既存のキーに追加する)
"ignore_action_settings": true, // アクションに設定された公開設定を利用しない(このPayloadで指定したキーのみを付与する)
"apply_related_ds": true, // related_ds_itemsに指定したアイテムにも同様の設定を利用する
"groups_to_publish": ["GROUP1", "GROUP2"], // group display_idを指定(実行ユーザが保持するキーのみ指定可能)
"roles_to_publish": ["ADMIN", "MEMBER"], // role display_idを指定(実行ユーザが保持するキーのみ指定可能)
"users_to_publish": ["607c2a25844887b6855a12a9", "5f25956428dc5c55b463bc77" ] // user_idを指定(ワークスペース内に存在するuser_idを指定可能)
},
"exec_children_post_procs": true, // true指定すると、related_ds_itemsに対してもActionScript(POST ActionScript)やWebhookの実行、自動リンクの生成、通知処理の実行を行います。注意)related_ds_itemsに対してPRE ActionScriptは実行されません。
}

Request URL Sample

POST https://api.xxx.com/api/v0/applications/TestApp/BatchAction

Response Sample

// 成功時
{
"result": {
"datastores": 1, // 対象データストア数
"items": 3 // 処理したItemAction数
},
"has_error": false,
"errors": []
}

// エラー時(トランザクション指定なし:3件中,1件エラー、2件は処理された)
{
"errors": [
{
"description": "item:601a572c28dc5c4e8c0783cd(d_id:5f263b7628dc5c6af0b1206a) has rev_no:4 but specified rev_no:2",
"error": "Revision number mismatch",
"error_code": "ITEM_REV_CONFLICT", // 排他エラー
"error_level": "ERROR",
"reference_id": "601a572c28dc5c4e8c0783cd" // 排他エラー時の対象ItemID
},
{
"description": "error occurred when execute action",
"error": "Error",
"error_code": "SYSTEM_ERROR",
"error_level": "ERROR",
"reference_id": "5c6a674f84f4be1f241ff4af" // エラー対象のItemID
}
],
"has_error": true,
"result": {
"datastores": 1,
"items": 2
}
}

// エラー例(トランザクション指定あり)
{
"description": "got errors when updating. AppName ",
"error": [
{
"description": "need rev_no to update ds:6121fccd27ef72f577ad28bc i:61e2f194f19fe200d9a95899 ",
"error": "rev_no not specified",
"error_code": "INVALID_VALUE",
"error_level": "ERROR",
"reference_id": "d_id:6121fccd27ef72f577ad28bc"
},
{
"description": "error on execute related item",
"error": "invalid params or got errors in update process",
"error_code": "TRANSACTION_ABORTED",
"error_level": "ERROR"
}
],
"error_code": "INVALID_VALUE"
}