DocsAPI 文件Training Plans API
👤 全部

Training Plans API

訓練計畫模板 CRUD — 建立、瀏覽、更新、刪除訓練計畫。

GET /training/training_plans

取得訓練計畫列表。

Headers

Header必填
`x-api-key`API Key

Query Parameters

參數類型說明
`org_id`string組織 ID(取得組織專屬計畫)
`distance`string距離篩選(`start`, `5k`, `half`, `full`)
`goal`string目標篩選(`finish`, `time_target`, `base_building`, `maintenance`)
`page`int頁碼(預設 1)
`page_size`int每頁數量(預設 20)
`level`string難度(`beginner`, `intermediate`, `advanced`)

Response (200)

欄位類型說明
`training_plans`array計畫列表
`count`number總數
`page`number目前頁碼

Training Plan 物件

欄位類型說明
`training_plan_id`string計畫 ID
`name`string計畫名稱
`description`string描述
`weeks`number總週數
`days_per_week`number每週訓練天數
`level`string難度等級
`distance`string目標距離分類
`goal`string目標類型
`cover_image_url`string封面圖 URL
`visibility`string可見度(`public`, `private`, `organization`)
`org_id`string所屬組織
`created_by`string建立者 ID
`content`array每日課表內容
`created_at`number建立時間(epoch ms)

GET /training/training_plans/{training_plan_id}

取得單一訓練計畫完整資料(含所有 content)。


POST /training/training_plans

建立新訓練計畫。

Request Body

參數類型必填說明
`name`string計畫名稱
`description`string描述
`weeks`number總週數
`days_per_week`number每週訓練天數
`level`string難度(`beginner`, `intermediate`, `advanced`)
`distance`string距離分類(`start`, `5k`, `half`, `full`)
`goal`string目標(`finish`, `time_target`, `base_building`, `maintenance`)
`visibility`string可見度(預設 `organization`)
`org_id`string組織 ID
`content`array每日課表(見下方)

Content 陣列項目

每個 content item 代表一天的課表:

欄位類型必填說明
`week`number第幾週(從 1 開始)
`day`string星期幾(`monday` - `sunday`)
`workout_name`string課表名稱(例如「輕鬆跑」)
`workout_type`string類型
`workout_sub_type`string子類型
`workout_description`string文字描述
`workout_description_cards`array結構化說明卡片
`content_blocks`array結構化課表步驟
`target_distance_in_meters`number目標距離(公尺)
`target_duration_in_seconds`number目標時間(秒)

Content Block 結構(課表步驟)

欄位類型說明
`block_name`string步驟名稱(`warmup`, `main`, `cooldown`, `repeat`)
`type`string區塊類型
`block_distance_in_meters`number距離
`block_pace`string目標配速描述
`block_duration_in_seconds`number時間
`repeat_count`number重複次數(間歇用)

Workout Description Cards 結構

欄位類型說明
`id`string卡片 ID
`title`string卡片標題
`content`string內容(HTML)

PUT /training/training_plans/{training_plan_id}

更新訓練計畫。Request body 同 POST,所有欄位選填。


DELETE /training/training_plans/{training_plan_id}

刪除訓練計畫。


POST /training/vdot/calculate

計算 VDOT 值和建議區間。

Request Body

參數類型必填說明
`distance`string距離(`5k`, `10k`, `half`, `full`)
`time`string完賽時間(HH:MM:SS)

Response (200)

欄位類型說明
`vdot`numberVDOT 值
`paces`object各區間建議配速