開発者向け機能:API:テーブル操作:レコード一括削除
## 概要
APIを使用してレコードを削除することができます。
## 事前準備
APIの操作を行う前に[APIキーの作成](/manual/api-key)を実施してください。
## 注意事項
当機能はレコードを情報を削除する機能になります。
削除レコードや削除条件項目に細心の注意を払い操作を行ってください。
この操作においては以下の手順を踏み、削除を行うことをおすすめ致します。
(1)[削除予定のレコード取得](/manual/api-record-get-multi)
(2)取得レコードから削除レコードや削除項目を転記し、一括削除APIのリクエストを作成
([view項目を使用する場合はこちらを確認](/manual/api-view))
(3)PhysicalDeleteオプションをチェック(trueにした場合は記録また期限付きテーブルの_deletedと_historyテーブルからも削除記録が消去され、復元が出来なくなります)
## リクエスト
下記の形式のjsonデータを送信してください。
|設定項目|値|
|:--|:--|
|HTTPメソッド|POST|
|Content-Type |application/json|
|文字コード|UTF-8|
|URL|http://{サーバー名}/pleasanter/api/items/{サイトID}/bulkdelete (※1)|
(※1)「http://{サーバー名}/pleasanter」 の部分は、適宜、ご使用の環境に合わせて編集し、「{サイトID}」は削除するレコードが登録されているサイトのIDに置き換えてください。
(pleasanter.netの場合はhttps://pleasanter.net/fs/api/items/{サイトID}/bulkdelete)
### 設定値
この設定値は[スクリプトの$p.apiBulkDelete](https://pleasanter.org/ja/manual/script-api-bulk-delete) および [サーバスクリプトのitems.BulkDelete](https://pleasanter.org/ja/manual/server-script-items-bulk-delete) も指定できます。
|パラメータ名|型|必須|概要|
|:--|:--|:--|:--|
|ApiVersion|decimal||APIのバージョン。|
|ApiKey|string|※1|事前に作成したAPIキー。|
|View|object||一括削除するレコードの条件を指定する場合記述する。詳細は後述。|
|Selected|object||削除するレコードのIDを指定する場合、配列形式で記述。|
|All|bool||テーブルのすべてのレコードを一括削除する場合true。|
|PhysicalDelete|bool||レコード削除と同時に変更履歴およびごみ箱から削除する場合はtrue。|
※1:APIキーはAPIでは指定必須。スクリプト、サーバスクリプトは任意指定で、指定した場合はAPIキーのユーザの権限で処理を実行。
### View
|パラメータ名|型|必須|概要|
|:--|:--|:--|:--|
|ColumnFilterHash|object||一括削除するレコードの条件。詳細は [JSONデータレイアウト:View](https://pleasanter.org/ja/manual/api-view) を参照。|
## 使用例
### 1. 項目の条件で絞ってレコードを物理削除する場合
View: {ColumnFilterHashの記述} を設定する。
PhysicalDelete: true を設定する。
#### JSON
```
{
ApiVersion: 1.1,
ApiKey: "XXXXX...",
View: {
ColumnFilterHash: {
Status: "[100,910]"
}
},
PhysicalDelete: true
}
```
### 2. 複数レコードを選択して削除する場合(レコードIDが135,376のレコードを削除)
Selected: [対象のID] を設定する。
#### JSON
```
{
ApiVersion: 1.1,
ApiKey: "XXXXX...",
Selected: [
135,
376
]
}
```
### 3. 対象テーブルの全レコードを削除する場合
All: true を設定する。
#### JSON
```
{
ApiVersion: 1.1,
ApiKey: "XXXXX...",
All: true
}
```
## レスポンス
下記の形式のjsonデータが返却されます。
### 返却値
|パラメータ名|型|必須|概要|
|:--|:--|:--|:--|
|Id|long|○|一括削除対象の記録また期限付きテーブルのID。|
|StatusCode|int|○|実行結果のステータスコード。|
|Message|string|○|実行結果のメッセージ。|
## 実行結果例
### 1. サイトIDが46010のテーブルに登録されているレコードを一括削除(ごみ箱に移動)した場合
#### JSON
```
{
Id: 46010,
StatusCode: 200,
Message: "サンプルテーブル: 3 件 一括削除しました。"
}
```
### 2. サイトIDが46010のテーブルに登録されているレコードを物理削除した場合
#### JSON
```
{
Id: 46010,
StatusCode: 200,
Message: "2 件 物理削除しました。"
}
```
## エラー時の確認事項
[・API使用時の注意点やエラーが発生する場合の確認事項](/manual/faq-api)
[・FAQ:変更後の設定ファイルやAPIリクエスト(JSON形式)が正しく認識されない場合の確認事項](/manual/faq-json-format)