UpdateItem
アイテムを編集する(DisplayIDの利用)
Description
指定したアイテムを更新します(Hexabase画面から入力したIDを指定)
Method
POST
Request URL Format
/api/v0/applications/:app-id/datastores/:datastore-id/items/edit/:item-id
URL Params
app-id : アプリケーションID(Hexabase画面から入力したIDまたは内部ID[p_id]を指定)
datastore-id : データストアID(Hexabase画面から入力したIDまたは内部ID[d_id]を指定)
item-id : 対象アイテムのID
Payload
{
"comment": "test-comment"
"item": {
"CAR_NAME": "名前のデータ", // text type
"CAR_TYPE": "5d4c058baa39555618ac9e98", // select type
"OPTIONS" : [ "58bbaa27fbfcba6098746061", "596e2327fbfcbab8283dde09"] // checkbox type
},
"use_display_id" : true, // IDに画面IDを利用。 groups_to_publishを利用する場合はtrueとする。
"is_force_update": true, // rev_noの指定を利用しない(排他制御を無視して、後勝ち登録を行う)
"return_item_result": true, // true指定すると、登録されたアイテム情報を返します
"ensure_transaction": false, // true指定すると、関連アイテムの処理中一つでもエラーが発生するとすべての登録がロールバックされます。デフォルトはfalseであり、成功されたrelated_itemの登録・更新は反映され、エラーがあった明細についてはエラーメッセージが返されます。
"exec_children_post_procs": true, // true指定すると、related_ds_itemsに対してもActionScript(POST ActionScript)やWebhookの実行、自動リンクの生成、通知処理の実行を行います。注意)related_ds_itemsに対してPRE ActionScriptは実行されません。
"as_params": {"param1": "value1", "param2": "value2",}, // ActionScriptへ任意のObject(型形式は自由)を渡すことができます。PRE/POST ActionScript双方に渡されます。 ActionScript内からは、 `data.as_params`として参照可能です。
"is_sync_related_items": true, // true指定すると、related_ds_itemsの登録順がpayloadで指定した並びになります(同期実行となるため処理が少し遅くなります)
"related_ds_items" : {
"関連データストアID_1" : [{ },{ },{ },{ }... ] , // 関連するデータストアの新規・更新・削除を指定 詳細は以下を参照
"関連データストアID_2" : [{ },{ },{ },{ }... ] ,
},
"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を指定可能)
}
}
トランザクション機能を利用するには、ensure_transaction : trueを指定します。この場合、関連アイテムの処理中一つでもエラーが発生するとすべての登録がロールバックされます。デフォルトはfalseであり、成功されたrelated_itemの登録・更新は反映され、エラーがあった明細についてはエラーメッセージが返されます。
realtime_auto_link : trueを指定して複数の更新系APIを連続して呼び出す場合は、ExecuteBatchAction APIの利用を奨励します。
関連するアイテムも同時に更新する場合は、以下フォーマットで指定 (新規、更新、削除、リンク追加、リンク削除のoperationが指定可能)
"related_ds_items" : { // 関連するデータストアの新規・更新・削除を指定
"RELATED_DS_1" : [
{
"operation" : 1, // new
"link_to_parent": true, // 親Itemとのデータリンクを作成する default: false(親→指定したi_idへのリンクのみ)
"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を指定可能)
},
"related_ds_items" : { // related_ds_itemsをネストさせることも可能。(同一Datastoreの複数ネストさせることは不可)
"関連データストアID_3" : [{ },{ },{ },{ }... ] ,
}
},{
"operation" : 2, // update
"action_id" : "Update2", // update actionID ※省略可 (省略するとデフォルトの更新アクションが利用される)
"link_to_parent": true, // 親Itemとのデータリンクを作成する(双方のリンクが作成される) default: false(親→指定したi_idへのリンクのみ)
"i_id" : "58bbaa27fbfcba609874aaa3f", // 対象アイテムID
"item": {
"FIELD_ID1" : "data",
"FIELD_ID3" : "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を指定可能)
},
},{
"operation" : 3, // delete
"action_id" : "", // delete actionID ※省略可 (省略するとデフォルトの削除アクションが利用される)
"i_id" : "58bbaa27fbfcba609874aqr45", // 対象アイテムID
},{
"operation" : 11, // add link :リンクを作成
"link_to_parent": true, // 親Itemとのデータリンクを作成する(双方のリンクが作成される) default: false(親→指定したi_idへのリンクのみ)
"i_id" : "58bbaa27fbfcba609874aqr46", // 対象アイテムID
},{
"operation" : 12, // remove link :リンクを削除
"i_id" : "58bbaa27fbfcba609874aqr47", // 対象アイテムID
},{
// 関連する複数アイテムを指定可能。sample 省略
},{
// 関連する複数アイテムを指定可能。sample 省略
}
]
"RELATED_DS_2" : [ // sample 省略 ],
"RELATED_DS_3" : [ // sample 省略 ]
}
- 更新用Valueは
changes
プロパティへ以下のように配列で指定することも可能です。
"changes": [
{
"id": "CAR_TYPE",
"value": "5d4c058baa39555618ac9e98" // select type
},
{
"id": "CAR_NAME",
"value": "名前のデータ" // text type
},
{
"id": "OPTIONS",
"value": [ "58bbaa27fbfcba6098746061", "596e2327fbfcbab8283dde09"] // checkbox type
}
],
アイテム更新時にグループロールを付与する、画面グループIDを使用する場合はuse_display_idをtrueにする、画面グループIDを使う場合は全て画面グループIDに統一する、システムのグループID(g_id)の場合全てそれに統一する 現在のユーザーの所持しているユーザーロールを元にロール付与出来るか判断。例:グループツリー下層から上層にグループを付与できない warningが返される。上層から下層に向けては付与可能。
Request URL Sample
POST https://api.xxx.com/api/v0/applications/APPNAME/datastores/DATABASEID/items/edit/5d4c058baa39555618ac9e8b
Response Sample
{
"error": "",
"itemHistory": {
"IsChanged": true,
"UserObjID": "62d657fb0ac22e357f5b69c4",
"action_id": "62d7b390cc1351eb97f32be8",
"comment": "ITEM_DETAILS.POST_EMPTY_COMMENT",
"created_at": "2022-07-28T07:18:53.21601Z",
"datastore_id": "62d7b36da69d9d279545cbc7",
"datastore_name": "",
"display_order": 0,
"email": "",
"history_id": "62e2385db8464bb1e358dabd",
"i_id": "62d7b3a4a69d9d279545cbda",
"is_fetchreplymail": false,
"is_notify": true,
"item_id": "62d7b3a4a69d9d279545cbda",
"media_link": "",
"post_for_rel": false,
"post_mode": "ExecuteAction",
"project_id": "62d7b261cc1351eb97f32bd7",
"transaction_id": "62e2385db8464bb1e358dab8",
"updated_at": "0001-01-01T00:00:00Z",
"user_id": "62d657fb0ac22e357f5b69c4",
"workspace_id": "62d7afb1cc1351eb97f32bcf"
},
"rev_no": {
"_id": "62d7b3a4a69d9d279545cbda",
"rev_no": 3
},
"pre_result": {
"result": "OK" // ActionScriptのプレスクリプト実行結果を返却
},
"as_result": {
"result": "OK" // ActionScriptのポストスクリプト実行結果を返却(同期実行がオンの場合)
}
}
Payload に "return_item_result": true を指定した場合、登録されたアイテム情報がもどる
{
"item": {
// 登録されたアイテム情報がもどる(関連アイテムの詳細は含まれない)
// 関連データがある場合は、linksに対象アイテムのdatastore_idとitem_id群が返却される
"links": [
{
"d_id": "62bc37653f0b074bc12f5cfa",
"i_ids": [
"62bc376ba678e4e7ee1da6b6"
]
},
{
"d_id": "62bc3942a678e4e7ee1da6cf",
"i_ids": [
"63454d2fd4958dbd8b63f990",
"63454d2fd4958dbd8b63f98c"
]
}
]
}
}
Errors
- エラー発生時のエラー情報については、ExecuteActionのエラー説明部分を参照ください。
- エラーコードはこちらを参照ください。