レコード削除(DELETE)

フォローする

レコードの一括削除

レコードの削除権限のあるユーザーが、複数のレコードを削除できます。

  • 一度に削除できるレコードは 100 件までです。
  • 処理が失敗すると、すべてのレコードが実行されません。

HTTP メソッド

DELETE

URI

https://(サブドメイン名).cybozu.com/k/v1/records.json

ゲストスペース内のアプリの場合

https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/records.json 

リクエストパラメータ

パラメータ名指定する値必須説明
app 数値又は文字列 必須 アプリのID を指定します。
ids 数値配列 必須 削除するレコードのレコードIDを配列で指定します。
revisions 数値配列 省略可 期待しているリビジョン番号です。並び方はidsと同一とします(idsの1番目のレコードで期待するリビジョン番号はrevisionsの1番目の数値)。 実際のリビジョン番号と一致しないときはエラーとなります(いずれのレコードも削除しない) ただし、値が-1あるいは指定しなかった場合はリビジョン番号の検証を行いません。

リクエストの例

パラメータを HTTP のクエリ文字列で送信する場合

「app」「ids」のパラメータを「&」で連結し、HTTPのクエリ文字列として送信します。 「ids」には「0」から「99」までの連番を配列として指定し、削除するレコードのIDを「ids」パラメータの値として指定します。

クエリ文字列
app=8&ids[0]=100&ids[1]=80&revisions[0]=1&revisions[1]=4
リクエストヘッダを含んだ文字列
DELETE /k/v1/records.json? app=8&ids[0]=100&ids[1]=80&revisions[0]=1&revisions[1]=4 HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • Content-Typeヘッダは不要です。

パラメータを JSON データで送信する場合

HTTPリクエストのリクエストボディに JSON データをセットする例は以下の通りです。

リクエストヘッダ
DELETE /k/v1/records.json HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json
  • Content-Type に application/json を指定して下さい。 指定しない場合は JSON が解釈できないため、実行時エラーとなります。
ボディ

レスポンス

処理成功時は空の JSON データが返されます。

JavaScriptサンプル

kintone REST API

XMLHttpRequest

制限事項

制限事項 をご確認ください。

コメント

Avatar
hsy横山

ファーラム管理者様

 

お世話になります。

 

レコード削除は、アプリIDのみあれば、可能でしょうか。 一度の削除件数100件以上行いたいのですが、

ご教示お願いします。 レコード操作は、100件の制約が多いですが、クラウド性能の限界でしょうか? 回答お願いします

Avatar
cybozu Development team

レコードの削除は、ドキュメントにも記載の通り、アプリIDとレコードID(複数指定可)が必須です。
一括削除の上限は、Webを経由する通信のため万全を期して100件としています。

Avatar
hsy横山

フォーラム管理者様

連絡有難う御座います

100件の制約は、確認しましたが、実際に、1000件削除する場合は、REAST APIで10回で削除となりますか

レコードIDを指定しなくても出来る様にしたいのですが、如何でしょうか

確認をお願いします

Avatar
cybozu Development team

hsy横山さん

>1000件削除する場合は、REST APIで10回で削除となりますか
はい、10回のレコード削除APIを実行することになります。

レコードIDを指定せずに、一括削除したいとなると、このような手順のプログラムを組むことになるかと思います。
これによりレコードIDを直接指定(プログラムでは指定していますが)しなくてすみます。

  1. レコード一括取得で全件のレコードIDを取得する
  2. 取得したレコードIDをもとに、レコード削除の配列に100個までのレコードIDを指定して実行する

Avatar
hsy横山

フォーラム管理者様

お疲れ様です。

回答有難う御座いました。

この問合せの意図は、KINTONEクラウドのデータ保存をどう回そうか検討している所にあります。

現在 仕入販売在庫報告書と用途別販売報告書のアプリでレコード保存を予定しております。

データ件数 5年間保管 月次データ 仕販在 12 *  99  *  24 *5  142560件 *52項目

データ件数 5年間保管 月次データ 用途別 12 *   99  *  16  *5    95040件 *47項目 

容量、パフォーマンスに問題ありますでしょうか

クラウドサービスの制限を教えて下さい。

Avatar
cybozu Development team

hsy横山さん

フィールド数、絞り込み条件によっても異なりますので、参考情報ですが、こちらの制限事項をご確認いただればと思います。
https://www.cybozu.com/jp/service/restrictions.html#q06

ログインしてコメントを残してください。
Powered by Zendesk