Group Plans API
群組訓練計畫 — 教練為群組建立的共同計畫、成員管理、課表排程。
概念
Group Plan Instance 是教練為整個群組建立的訓練計畫。
- 教練建立一個 Group Plan,指定課表和成員
- 每個成員會得到個人化版本(根據自己的配速區間調整)
- 教練可以管理成員、調整課表、追蹤進度
POST /training/group_plan_instances
建立群組訓練計畫。
Headers
| Header | 值 | 必填 |
|---|---|---|
| `x-api-key` | API Key | ✅ |
Request Body
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| `name` | string | ✅ | 計畫名稱 |
| `group_id` | string | ✅ | 群組 ID |
| `training_plan_id` | string | ❌ | 基於的訓練計畫模板(選填) |
| `start_date` | string | ✅ | 開始日期 |
| `end_date` | string | ❌ | 結束日期 |
Response (201)
{"gpi_id": "abc123", "message": "Group plan created"}
GET /training/group_plan_instances
取得群組計畫列表。
GET /training/group_plan_instances/{gpi_id}
取得群組計畫詳情。
Response (200)
| 欄位 | 類型 | 說明 |
|---|---|---|
| `gpi_id` | string | 群組計畫 ID |
| `name` | string | 名稱 |
| `group_id` | string | 群組 ID |
| `start_date` | string | 開始日期 |
| `end_date` | string | 結束日期 |
| `members` | array | 成員列表 |
| `workouts` | array | 課表列表 |
| `statistics` | object | 統計數據 |
| `created_at` | number | 建立時間 |
PUT /training/group_plan_instances/{gpi_id}
更新群組計畫。
DELETE /training/group_plan_instances/{gpi_id}
刪除群組計畫。
PATCH /training/group_plan_instances/{gpi_id}/weekly-info
更新特定週的資訊。
成員管理
POST /training/group_plan_instances/{gpi_id}/members
新增成員到群組計畫。
Request Body
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| `user_ids` | array | ✅ | 使用者 ID 列表 |
DELETE /training/group_plan_instances/{gpi_id}/members/{user_id}
從群組計畫移除成員。
課表管理
POST /training/group_plan_instances/{gpi_id}/workouts
為群組計畫新增課表。
Request Body
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| `workout_name` | string | ✅ | 課表名稱 |
| `workout_type` | string | ✅ | 課表類型 |
| `date` | string | ✅ | 日期 |
| `content_blocks` | array | ❌ | 結構化步驟 |
PUT /training/group_plan_instances/{gpi_id}/workouts/{workout_id}
更新群組計畫中的課表。
DELETE /training/group_plan_instances/{gpi_id}/workouts/{workout_id}
刪除群組計畫中的課表。
統計
GET /training/group_plan_instances/{gpi_id}/statistics
取得群組計畫的完成率和統計數據。
Response (200)
| 欄位 | 類型 | 說明 |
|---|---|---|
| `total_workouts` | number | 總課表數 |
| `completed_workouts` | number | 已完成數 |
| `completion_rate` | number | 完成率(0-1) |
| `member_stats` | array | 各成員統計 |
審計
GET /training/group_plan_instances/{gpi_id}/audit
取得群組計畫的操作紀錄。
教練列表
GET /training/group_plan_instances/{gpi_id}/coaches
取得群組計畫的教練列表。