Skip to content

API一覧 ​

WordPress REST 等、サーバー側 API-* 設計書の ID レジストリ と、各 API 名前空間のルート・権限の正。

設計書コード(ID)一覧 ​

設計書コード機能名(概要)詳細備考
API-001日別記事 REST v1§ 詳細-
API-003新台情報 REST v1§ 詳細-
API-004イベントマスタ REST v1§ 詳細-
API-005外部データ取込 REST v1§ 詳細-
API-006運用確認 REST v1§ 詳細-
API-007X告知 REST v1§ 詳細-
API-008誕生日 REST v1§ 詳細-
API-009おすすめ台 REST v1§ 詳細-

API-002(commerce/v1 Stripe Webhook)は削除済み。国内代行導入時に REST を再定義する。

API-001 日別記事 REST(daily-article/v1) ​

path ​

/wp-json/daily-article/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-001-1/async-rankingGETランキング非同期取得AsyncLoadingHandlerAPI-001-1
API-001-2/async-heatmap-detailGETヒートマップ詳細(type 必須)AsyncLoadingHandlerAPI-001-2
API-001-9/async-heatmap-simpleGETヒートマップ(簡易)非同期取得AsyncLoadingHandlerAPI-001-9
API-001-3/async-end-numberGET末尾データ非同期取得AsyncLoadingHandlerAPI-001-3
API-001-4/async-kishu-searchGET機種指定データ検索AsyncLoadingHandlerAPI-001-4
API-001-5/what-day-optionsGET〇〇の日オプションWhatDayOptionsHandlerAPI-001-5
API-001-6/period-samai-kishu-namesGET期間内機種名一覧PeriodSamaiKishuNamesHandlerAPI-001-6
API-001-7/performance-measurementGET日別記事テンプレ用パフォーマンス計測PerformanceMeasurementHandlerAPI-001-7
API-001-8/kishu-namesGET日付・ホール別機種名KishuNamesHandlerAPI-001-8
API-001-10/async-warm-template-dataPOST共有テンプレートデータ L2 warm(HTML なし)AsyncLoadingHandlerAPI-001-10
API-001-11/async-relational-dayGET関連日 + 日別カレンダー非同期取得AsyncLoadingHandlerAPI-001-11
API-001-12/async-move-day-hallGETMoveDayHall 非同期取得AsyncLoadingHandlerAPI-001-12
API-001-13/async-mail-imageGETMailImage 非同期取得AsyncLoadingHandlerAPI-001-13
API-001-14/async-kishudataGET機種データ(kishudata)非同期取得AsyncLoadingHandlerAPI-001-14
API-001-15/period-kishu-samai-rankingGET期間機種別差枚ランキング取得AsyncLoadingHandlerAPI-001-15
API-001-16/async-mail-image-batchGETMailImage ホール横断バッチ取得AsyncLoadingHandlerAPI-001-16
API-001-17/async-move-day-hall-batchGETMoveDayHall ホール横断バッチ取得AsyncLoadingHandlerAPI-001-17
API-001-18/async-warm-block-htmlPOST遅延ブロック完成 HTML warm(レスポンスに HTML なし)AsyncLoadingHandlerAPI-001-18
API-001-19/articlesGET日別記事一覧(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-20/articles/{id}GET日別記事の編集項目取得(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-21/articles/{id}/fieldsPOST日別記事の編集項目更新(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-22/articles/{id}/trashPOST未公開の日別記事をゴミ箱へ移動(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-23/eventsGETホール別イベント一覧(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-24/eventsPOSTイベントマスタ登録(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-25/what-day-masterPOST〇〇の日マスタ登録(bot 編集用)DailyArticleBotRestHandlerAPI-001-19
API-001-26/birthdaysGET前後 N 日の誕生日・ホール別台数(bot 用)DailyArticleBotRestHandlerAPI-001-19
API-001-27/birthdays/searchGET声優名・キャラ名で誕生日を検索(bot 用)DailyArticleBotRestHandlerAPI-001-19

PermissionChecker 経由の責務(全エンドポイントの permission_callback は、各ハンドラーに注入された PermissionCheckerInterface 実装の check() を呼ぶ。具体型はルートごとに異なる):

  • 権限チェック: 全エンドポイントで上記 permission_callback から実施。実装は WordPressAsyncLoadingPermissionChecker / WordPressDailyArticleBotPermissionChecker / WordPressPermissionChecker 等に分岐する。
  • nonce 検証(wp_verify_nonce( … , 'wp_rest' ) を含む): AsyncLoadingHandler(API-001-1〜4, API-001-9〜18)。PerformanceMeasurementHandler(API-001-7)は WordPressPerformanceMeasurementPermissionChecker で Cookie 認証のときだけ nonce を検証し、アプリケーションパスワードと Local バイパスでは検証しない。manage_options 必須で、ユーザー単位 60 秒 10 回・IP 単位 60 秒 20 回のレート制限(カウンタを保存できないときは拒否)をかける(Issue #3867。詳細は API-001-7)。
  • nonce を上記のように PermissionChecker 内で検証しない: KishuNamesHandler・PeriodSamaiKishuNamesHandler・WhatDayOptionsHandler・DailyArticleBotRestHandler(API-001-5 / 6 / 8 / 19〜27)は WordPressDailyArticleBotPermissionChecker(edit_daily_articles。API-001-25 は加えて manage_what_day_master。ブロックエディタの Cookie 認証と日別記事編集bot のアプリケーションパスワードの両方を受ける。Cookie 認証で nonce が無いリクエストは WordPress コアが未ログイン扱いにするため 401)。API-001-5 / 6 / 8 は #3872 で WordPressDailyArticleAdminPermissionChecker から切り替えたため、nonce 無しは 403(AUTH_FAILED)から 401(LOGIN_REQUIRED)に変わり、LocalRestBypassGuard の Local バイパスが効くようになった(各 API 詳細の「権限・nonce」参照)。WordPressDailyArticleAdminPermissionChecker は現在 EventMasterRegistrationHandler だけが使う。
  • Local バイパス(WordPressPermissionChecker 等): wp_get_environment_type() === 'local' のときのみ capability を省略する。ステージング・本番では WP_ENVIRONMENT_TYPE=local にしないこと — ホスティング運用セキュリティチェックリスト / ステージングデプロイ。
  • レート制限(IP ベース): AsyncLoadingHandler(API-001-1〜4, API-001-9〜18、SC-015 の /async-kishu-count-delta-list)の WordPressAsyncLoadingPermissionChecker。読み取り系 GET は 60 秒あたり 300 回(日別記事の正当な閲覧を許容する値。Issue #3482 / #3938)でカウンタを取れないときは通す。warm 系 POST(API-001-10・API-001-18)は別カウンタで 60 秒あたり 60 回、カウンタを取れないときは拒否する(Issue #3865)。対象ルートの一覧は REST API レート制限の IP アドレス取得設定。API-001-7 も IP 単位の制限を持つ(上記 nonce の項を参照)。
  • レート制限(ユーザー単位): DailyArticleBotRestHandler(API-001-19〜27)は BotRestRateLimiter でユーザーごとに数える(項目更新 60 回 / 分・イベント登録・〇〇の日マスタ登録・ゴミ箱移動 各 20 回 / 分はカウンタを保存できないとき拒否、読み取り 120 回 / 分は通す)。詳細は API-001-19。

パラメータの validate_callback / sanitize_callback は各ハンドラー内の register_route 定義が正。

API-003 新台情報 REST(new-machine/v1) ​

path ​

/wp-json/new-machine/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-003-1/fetchPOST新台情報の取得・upsertNewMachineRestHandlerAPI-003
API-003-2/itemsGET新台情報一覧(未紐付け / 全件)NewMachineRestHandlerAPI-003
API-003-3/linksPOST機種マスタ紐付けの一括保存NewMachineRestHandlerAPI-003
API-003-4/visibilityPOST表示 / 非表示の切替NewMachineRestHandlerAPI-003

全エンドポイントの permission_callback は WordPressNewMachineEditorPermissionChecker(manage_new_machine_info)。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。BotRestRateLimiter でユーザーごとに数える(一覧 120 回 / 分はカウンタを保存できないとき通す。紐付け・表示切替 20 回 / 分、取得 20 回 / 時はカウンタを保存できないとき拒否)。取得・紐付け・表示切替は監査ログ([bot-rest-audit])に残す。詳細は API-003。

API-004 イベントマスタ REST(event-master/v1) ​

path ​

/wp-json/event-master/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-004-1/listGETホール別イベント一覧EventMasterRegistrationHandlerAPI-004
API-004-2/registerPOSTイベントの新規登録EventMasterRegistrationHandlerAPI-004
API-004-3/updatePOSTイベントの更新EventMasterRegistrationHandlerAPI-004
API-004-4/deletePOSTイベントの削除EventMasterRegistrationHandlerAPI-004

permission_callback はルートごとに異なる。全ルートで PermissionChecker 内で wp_rest nonce を検証する。

  • API-004-1・API-004-2: WordPressDailyArticleAdminPermissionChecker(edit_daily_articles)。日別記事編集画面から呼ぶため、daily_article_editor_bot も許可する。
  • API-004-3・API-004-4: WordPressManageOptionsWithNonceChecker(manage_options)。Local バイパスの条件は同クラスの PHPDoc を参照。

API-005 外部データ取込 REST(data-import/v1) ​

path ​

/wp-json/data-import/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-005-1/{source}/previewPOSTHTML の検証・パースと紐付け状況の確認(DB に書かない)DataImportRestHandlerAPI-005
API-005-2/{source}/importPOST紐付けの保存と db2023 への取込DataImportRestHandlerAPI-005
API-005-3/{source}/latest-dayGETホールの db2023 最新日と翌日DataImportRestHandlerAPI-005
API-005-4/historyGET取込履歴DataImportRestHandlerAPI-005

{source} は min-repo / ana-slo(取込元ごとに固定ルートを登録)。permission_callback は WordPressDataImportPermissionChecker({source} ありはルートの取込元の import_min_repo_html / import_ana_slo_html、/history はどちらか一方)。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。

API-006 運用確認 REST(ops-status/v1) ​

path ​

/wp-json/ops-status/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-006-1/summaryGET日次チェック用まとめ(日別記事・取込・新台情報)OpsStatusRestHandlerAPI-006
API-006-2/daily-articlesGET期間内の日別記事の状態(下書き含む・最大 31 日)OpsStatusRestHandlerAPI-006
API-006-3/daily-articles/{id}GET日別記事 1 件の状態(include_body=1 で考察本文)OpsStatusRestHandlerAPI-006
API-006-4/importsGETホールごとの db2023 最新日と取込履歴OpsStatusRestHandlerAPI-006
API-006-5/new-machineGET新台情報取得の最終実行結果と未紐付け件数OpsStatusRestHandlerAPI-006
API-006-6/birthdayGET誕生日紐付けの件数と sulocale の最終取得日時OpsStatusRestHandlerAPI-006
API-006-7/pworld-mailsGET記事対象日の P-WORLD メールとメール欄キャッシュOpsStatusRestHandlerAPI-006

全エンドポイントの permission_callback は WordPressOpsStatusPermissionChecker(read_ops_status)。GET のみで書き込みはしない。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。ユーザー単位で 1 分あたり 120 回まで(超過時 429。カウンタを取れないときは通す)。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。

API-007 X告知 REST(x-announce/v1) ​

path ​

/wp-json/x-announce/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-007-1/daily-articlesGET期間内の公開済み日別記事のメタ情報と告知履歴(31 日)XAnnounceRestHandlerAPI-007
API-007-2/daily-articles/{id}GET公開済み日別記事 1 件のメタ情報と告知履歴XAnnounceRestHandlerAPI-007
API-007-3/paid-articlesGET公開済み有料記事のメタ情報と告知履歴(更新日時の降順)XAnnounceRestHandlerAPI-007
API-007-4/paid-articles/{id}GET公開済み有料記事 1 件のメタ情報と告知履歴XAnnounceRestHandlerAPI-007
API-007-5/announcementsPOSTX に投稿した結果(告知履歴)を記事に記録XAnnounceRestHandlerAPI-007
API-007-6/settingsGET記事の種類ごとの X への投稿方法(API / 人間)。変更は ADM-036 だけXAnnounceRestHandlerAPI-007

全エンドポイントの permission_callback は WordPressXAnnouncePermissionChecker。GET は read_x_announce、POST は record_x_announcement。記事の本文・考察欄・抜粋・有料記事のセクションは返さない。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。ユーザー単位で GET は 1 分あたり 120 回(カウンタを取れないときは通す)、POST は 20 回(カウンタを取れないときは拒否)。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。

API-008 誕生日 REST(birthday/v1) ​

path ​

/wp-json/birthday/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-008-1/titlesGET作品名マスタの一覧(誕生日・紐付けの件数付き)BirthdayRestHandlerAPI-008
API-008-2/kishuGET紐付け先に使えるアクティブな機種の一覧BirthdayRestHandlerAPI-008
API-008-3/birthdaysGET誕生日データの一覧BirthdayRestHandlerAPI-008
API-008-4/linksGET作品名と機種の紐付けの一覧BirthdayRestHandlerAPI-008
API-008-5/unlinked-titlesGET機種が紐付いていない作品名BirthdayRestHandlerAPI-008
API-008-6/upcomingGET今日から N 日間の誕生日と紐付け有無BirthdayRestHandlerAPI-008
API-008-7/linksPOST紐付けの追加BirthdayRestHandlerAPI-008
API-008-8/linksPATCH紐付けの付け替えBirthdayRestHandlerAPI-008
API-008-9/linksDELETE紐付けの削除BirthdayRestHandlerAPI-008
API-008-10/birthdaysPOST誕生日データの追加BirthdayRestHandlerAPI-008
API-008-11/birthdays/{id}PATCH誕生日データの更新BirthdayRestHandlerAPI-008
API-008-12/birthdays/{id}DELETE誕生日データの削除BirthdayRestHandlerAPI-008
API-008-13/titlesPOST作品名の新規作成BirthdayRestHandlerAPI-008
API-008-14/titles/{id}PATCH作品名の改名BirthdayRestHandlerAPI-008
API-008-15/titles/{id}/activePOST作品名の有効/無効の切り替えBirthdayRestHandlerAPI-008
API-008-16/sulocale/previewPOSTスロカレ作品ページの取込プレビュー(書き込まない)BirthdayRestHandlerAPI-008
API-008-17/sulocale/importPOSTスロカレ作品ページの取込BirthdayRestHandlerAPI-008

全エンドポイントの permission_callback は WordPressBirthdayPermissionChecker。GET は read_birthday_data、紐付けは link_birthday_kishu、追加・スロカレ取込は add_birthday_data、更新・削除・作品名の改名と有効/無効は update_birthday_data。書き込みは人間の確認後に bot が呼ぶ運用で、監査ログに残す。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。ユーザー単位で GET は 1 分あたり 120 回(カウンタを取れないときは通す)、書き込みは 1 分あたり 30 回、スロカレ取得は 1 時間あたり 10 回(いずれもカウンタを取れないときは拒否)。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。

API-009 おすすめ台 REST(recommend/v1) ​

path ​

/wp-json/recommend/v1/

エンドポイント一覧 ​

codepathmethod名称・役割主な登録元設計書
API-009-1/draftsGET保存済みのおすすめ案と対象日の結果(差枚・G 数)RecommendRestHandlerAPI-009
API-009-2/draftsPOSTおすすめ案の下書き保存(承認・却下済みは 409)RecommendRestHandlerAPI-009
API-009-3/coverageGETホールごとの台データの最初の日・最新日と欠けている日RecommendRestHandlerAPI-009
API-009-4/unitsGET期間内(最大 31 日)の台データ(ページ単位)RecommendRestHandlerAPI-009
API-009-5/units/{dainum}/historyGET1 台の直近の台データと機種の入れ替わりRecommendRestHandlerAPI-009
API-009-6/exportGET1 年分の台データを 1 か月ずつ NDJSON で一括取得RecommendRestHandlerAPI-009
API-009-7/kishu-dailyGET機種別・日別のサマリ(最大 92 日)RecommendRestHandlerAPI-009
API-009-8/end-numberGET日ごとの末尾 0〜9・ゾロ目の台数・平均差枚・勝ち台数(最大 31 日)RecommendRestHandlerAPI-009
API-009-9/calendarGET曜日・〇〇の日・イベント・入替(先の日付も可、最大 92 日)RecommendRestHandlerAPI-009

全エンドポイントの permission_callback は WordPressRecommendPermissionChecker。GET は read_recommend_data、POST は write_recommend_draft。台データは差枚・G 数だけで BB / RB は返さない。記事への反映・公開はしない(承認・却下は ADM-037 だけ)。アプリケーションパスワード(Basic 認証)で呼ぶ前提のため、PermissionChecker 内で nonce は検証しない。ユーザー単位で GET は 1 分あたり 120 回(カウンタを取れないときは通す)、/export は 20 回、POST は 20 回(どちらもカウンタを取れないときは拒否)。429 には Retry-After(秒)、数えた呼び出しには X-RateLimit-Limit / X-RateLimit-Remaining を付ける。Local バイパスの条件は API-001 の WordPressPermissionChecker と同じ。