教練 API
教練專用端點 — 選手管理、洞察、狀態查詢。
GET /coach/athletes
取得教練管理的所有選手列表。
Headers
- `Authorization`: `Bearer <coach_token>`
Response (200)
選手列表,每位選手包含:
| 欄位 | 類型 | 說明 |
|---|---|---|
| `user_id` | string | 選手 ID |
| `username` | string | 使用者名稱 |
| `display_name` | string | 顯示名稱 |
| `last_activity_at` | number | 最近活動時間 |
| `weekly_distance` | number | 本週跑量 |
| `status` | string | 狀態 |
GET /coach/athletes/{athlete_id}
取得特定選手的詳細資料。
回傳資料包含:
- 個人資料和目標
- 訓練負荷指標(CTL / ATL / TSB)
- 最近活動列表
- 區間設定
- 整合狀態
GET /coach/athletes/{athlete_id}/recovery
取得選手的恢復狀態。
GET /coach/athletes/{athlete_id}/athlete-insight
取得 AI 生成的選手洞察。
Response (200)
| 欄位 | 類型 | 說明 |
|---|---|---|
| `insight` | string | AI 洞察文字 |
| `risk_level` | string | 風險等級(`low`, `medium`, `high`) |
| `recommendations` | array | 建議行動列表 |
GET /coach/athlete_status
取得所有選手的即時狀態(Attention Queue 數據來源)。
GET /coach/group_status
取得群組的即時狀態。
GET /coach/groups/{group_id}/insight
取得 AI 生成的群組洞察。
POST /coach/query
用自然語言查詢選手數據(實驗性功能)。
Request Body
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| `query` | string | ✅ | 自然語言查詢(例如:「上週跑最多的選手」) |
| `group_id` | string | ❌ | 限定群組 |
POST /coach/assign-agent
為選手指派 AI 教練角色。
Request Body
| 參數 | 類型 | 必填 | 說明 |
|---|---|---|---|
| `athlete_id` | string | ✅ | 選手 ID |
| `agent_id` | string | ✅ | 教練角色 ID |