ユーザマニュアル

ITrevviewレビュー投稿で1,500円分アマギフプレゼント! 「プリザンター入門」発売中! 「プリザンターをもっと活用するために」資料ダウンロード

2026/01/26

MANUAL

開発者向け機能:API:テーブル操作:レコード削除

## 概要 APIを使用してレコードを削除する事ができます。 ## 事前準備 APIの操作を行う前に[APIキーの作成](/manual/api-key)を実施してください。 ## リクエスト 下記の形式のjsonデータを送信してください。 |設定項目|値| |:--|:--| |HTTPメソッド|POST| |Content-Type |application/json| |文字コード|UTF-8| |URL|http://{サーバー名}/api/items/{レコードID}/delete (※1)| (※1){サーバー名}、{レコードID}の部分は、適宜、環境に合わせて編集してください。   pleasanter.netの場合は以下の形式になります。   https\://pleasanter.net/fs/api/items/{レコードID}/delete ##### JSON ``` { "ApiVersion": 1.1, "ApiKey": "Asfas63dsf1A0faA567A..." } ``` ## レスポンス 下記の形式のjsonデータが返却されます。 ##### JSON ``` { "Id": 12345, "StatusCode": 200, "LimitPerDate": 10000, "LimitRemaining": 9995, "Message": "\" {レコードのタイトル名} \" を削除しました。" } ``` ## サンプルコード ##### コード内の【 ... 】 は適宜修正してください。 <details> <summary>1. レコードIDを指定して削除する</summary> 状況が’910’のレコードを取得、取得できたIDでレコードを削除します。 ##### Python(api_record_delete_p1.py) ```python # WebサイトやAPIと通信するためのライブラリ import requests # JSON操作のためのライブラリ import json # サーバ名、APIキー BASE_URL = "【サーバ名】" # 例: http://server API_KEY = "【APIキー】" # 検索開始サイトID START_SITE_ID = 【サイトID】 # 対象サイト名と削除対象ステータス TARGET_SITE_NAME = "【サイト名】" TARGET_STATUS = '["910"]' # セッション共通化 session = requests.Session() session.headers.update({"Content-Type": "application/json"}) # JSON POST リクエスト共通関数 def post_json(url: str, payload: dict) -> dict: r = session.post(url, data=json.dumps(payload)) if not r.ok: raise RuntimeError(f"HTTP {r.status_code} {url}\n{r.text}") return r.json() # 1) サイト名から SiteId を取得 getclosest_url = f"{BASE_URL}/api/items/{START_SITE_ID}/getclosestsiteid" closest_payload = { "ApiVersion": 1.1, "ApiKey": API_KEY, "FindSiteNames": [TARGET_SITE_NAME], } closest_res = post_json(getclosest_url, closest_payload) data_list = closest_res.get("Data", []) if not data_list: print(f"{TARGET_SITE_NAME} サイト情報取得失敗") raise SystemExit() site_id = data_list[0].get("SiteId") if not isinstance(site_id, int) or site_id <= 0: print(f"{TARGET_SITE_NAME} サイトID不正: {site_id}") raise SystemExit() print(f"対象サイトID取得成功: {site_id}") # 2) Status=910 のレコード取得(複数取得) get_url = f"{BASE_URL}/api/items/{site_id}/get" get_payload = { "ApiVersion": 1.1, "ApiKey": API_KEY, "View": { "ColumnFilterHash": { "Status": TARGET_STATUS, } }, } get_res = post_json(get_url, get_payload) rows = [] if isinstance(get_res, dict): rows = (get_res.get("Response", {}) or {}).get("Data", []) or [] elif isinstance(get_res, list): rows = get_res if not rows: print("削除対象データなし") raise SystemExit() # 3) 取得したレコードを 1件ずつ削除 for row in rows: record_id = row.get("ResultId") or row.get("Id") if not record_id: continue delete_url = f"{BASE_URL}/api/items/{record_id}/delete" delete_payload = { "ApiVersion": 1.1, "ApiKey": API_KEY, } try: post_json(delete_url, delete_payload) print(f"削除成功:Id={record_id}") except Exception as e: print(f"削除失敗:Id={record_id}") print(e) ``` ##### 実行 ``` >python api_record_delete_p1.py ``` ##### 実行結果 ``` 削除成功:Id=9001 削除成功:Id=9002 削除成功:Id=9003 削除成功:Id=9004 ・・・・ ``` </details> ## エラー時の確認事項 [・API使用時の注意点やエラーが発生する場合の確認事項](/manual/faq-api) [・FAQ:変更後の設定ファイルやAPIリクエスト(JSON形式)が正しく認識されない場合の確認事項](/manual/faq-json-format) ## 仕様変更について **※ 2019年10月よりAPIの仕様が一部変更となりました。** - 分類, 数値, 日付, 説明, チェック項目はjsonにそのまま記載する方法から「~Hash」の中に記載する方法へ変更されました。 **※ 2018年11月よりAPIの仕様が一部変更となりました。** - URLの形式が '/pleasanter/api_items/xxxx' から '/pleasanter/api/items/xxxx' に変更されました。 - Content-Type の指定が'application/x-www-form-urlencoded' から 'application/json'に変更されました。
TOP