Appearance
API一覧
WordPress REST 等、サーバー側 API-* 設計書の ID レジストリ と、各 API 名前空間のルート・権限の正。
設計書コード(ID)一覧
| 設計書コード | 機能名(概要) | 詳細 | 備考 |
|---|---|---|---|
| API-001 | 日別記事 REST v1 | § 詳細 | - |
| API-002 | 決済 REST v1 | § 詳細 | Stripe Webhook |
API-002 決済 REST(commerce/v1)
path
/wp-json/commerce/v1/
エンドポイント一覧
| code | path | method | 名称・役割 | 主な登録元 | 設計書 |
|---|---|---|---|---|---|
API-002-1 | /stripe-webhook | POST | Stripe Webhook 受信・購入記録作成 | StripeWebhookHandler | API-002-1 |
PermissionChecker 経由の責務:
- 権限チェック:
WordPressPublicPermissionCheckerが常に許可。認証は Stripe 署名検証が担う。 - nonce 検証: なし(外部 Stripe からの POST)
API-001 日別記事 REST(daily-article/v1)
path
/wp-json/daily-article/v1/
エンドポイント一覧
| code | path | method | 名称・役割 | 主な登録元 | 設計書 |
|---|---|---|---|---|---|
API-001-1 | /async-ranking | GET | ランキング非同期取得 | AsyncLoadingHandler | API-001-1 |
API-001-2 | /async-heatmap-detail | GET | ヒートマップ詳細(type 必須) | AsyncLoadingHandler | API-001-2 |
API-001-9 | /async-heatmap-simple | GET | ヒートマップ(簡易)非同期取得 | AsyncLoadingHandler | API-001-9 |
API-001-3 | /async-end-number | GET | 末尾データ非同期取得 | AsyncLoadingHandler | API-001-3 |
API-001-4 | /async-kishu-search | GET | 機種指定データ検索 | AsyncLoadingHandler | API-001-4 |
API-001-5 | /what-day-options | GET | 〇〇の日オプション | WhatDayOptionsHandler | API-001-5 |
API-001-6 | /period-samai-kishu-names | GET | 期間内機種名一覧 | PeriodSamaiKishuNamesHandler | API-001-6 |
API-001-7 | /performance-measurement | GET | 日別記事テンプレ用パフォーマンス計測 | PerformanceMeasurementHandler | API-001-7 |
API-001-8 | /kishu-names | GET | 日付・ホール別機種名 | KishuNamesHandler | API-001-8 |
API-001-10 | /async-warm-template-data | POST | 共有テンプレートデータ L2 warm(HTML なし) | AsyncLoadingHandler | API-001-10 |
API-001-11 | /async-relational-day | GET | 関連日 + 日別カレンダー非同期取得 | AsyncLoadingHandler | API-001-11 |
API-001-12 | /async-move-day-hall | GET | MoveDayHall 非同期取得 | AsyncLoadingHandler | API-001-12 |
API-001-13 | /async-mail-image | GET | MailImage 非同期取得 | AsyncLoadingHandler | API-001-13 |
API-001-14 | /async-kishudata | GET | 機種データ(kishudata)非同期取得 | AsyncLoadingHandler | API-001-14 |
API-001-15 | /period-kishu-samai-ranking | GET | 期間機種別差枚ランキング取得 | AsyncLoadingHandler | API-001-15 |
PermissionChecker 経由の責務(全エンドポイントの permission_callback は、各ハンドラーに注入された PermissionCheckerInterface 実装の check() を呼ぶ。具体型はルートごとに異なる):
- 権限チェック: 全エンドポイントで上記
permission_callbackから実施。実装はWordPressAsyncLoadingPermissionChecker/WordPressDailyArticleAdminPermissionChecker/WordPressPermissionChecker等に分岐する。 - nonce 検証(
wp_verify_nonce( … , 'wp_rest' )を含む):AsyncLoadingHandler(API-001-1〜4, API-001-9〜15)、KishuNamesHandler、PeriodSamaiKishuNamesHandler、WhatDayOptionsHandler。 - nonce を上記のように
PermissionChecker内で検証しない:PerformanceMeasurementHandler(WordPressPermissionCheckerによるmanage_options等。ブラウザ+Cookie 認証で呼ぶ場合の REST nonce は WordPress コア側の挙動に依存。詳細は各実装の PHPDoc を参照)。 - Local バイパス(
WordPressPermissionChecker等):wp_get_environment_type() === 'local'のときのみ capability を省略する。ステージング・本番ではWP_ENVIRONMENT_TYPE=localにしないこと — ホスティング運用セキュリティチェックリスト / ステージングデプロイ。 - レート制限(IP ベース、60秒あたり最大10リクエスト):
AsyncLoadingHandler(API-001-1〜4, API-001-9〜15)のWordPressAsyncLoadingPermissionCheckerのみ。他のエンドポイントに同レベルの IP レート制限はない。
パラメータの validate_callback / sanitize_callback は各ハンドラー内の register_route 定義が正。