# 體感相關 --- API 清單 * [上傳體感分數(使用體感APP)](#上傳體感分數) * [取得個人體感分數](#取得體感分數) --- ## 上傳體感分數 透過體二APP上傳體感分數 ```url= POST /body-motion/course/record/update ``` Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- householdMemberId | String | Y | | 透過QR抓出來的用戶ID token | String | Y | | 365配發token, 後續如果要補上登入流程, 這個再拿掉 trainingId | int | Y | | 訓練課程ID unitId | int | Y | | 單元ID trainingTime | int | Y | | 訓練時間 value | float | Y | | 體感分數 ```javascript { "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5", "token": "d2ljY2ttdWg6V2ljY2ttdWhXaXN0cm9u", "trainingId": 27, "unitId": 45, "trainingTime": 1617164391, "value": 30 } ``` Response 欄位 | 型態 | 說明 -----| -----|-------- data | int | 新增/編輯個數 ```javascript { "httpCode": 200, "result": { "data": 1 } } ``` ## 取得體感分數 取得體感分數 ```url= POST /body-motion/course/record/list ``` Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- householdMemberId | String | N | | APP用戶不需要帶, 會重token抓出來 type | int | N | | 課程類型, 1: 訓練 2: 快篩. 不帶的話就查全部 ```javascript { "query": { "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5", "type": 1, } } ``` Response 欄位 | 型態 | 說明 -----| -----|-------- householdMemberId | String | 用戶ID startTime | Long | 訓練時間 unitId | int | 訓練單元ID unitName | String | 訓練單元名稱 duration | int | 訓練執行時間(分) type | int | 課程類型, 1: 訓練 2: 快篩 achieved | int | 所有訓練課程的總達標狀態. 0: 未達標 1: 達標 records | array | 本次訓練單元包含多少次訓練項目 -id | int | 訓練項目ID -name | String | 訓練項目名稱 -value | Float | 訓練分數 -target | Float | 訓練目標 -unit | String |分數單位 -achieved | int | 0: 未達標 1: 達標 ```javascript { "httpCode": 200, "result": { "data": [ { "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5", "unitId": 46, "unitName": "失智快篩", "duration": 30, "type": 2, "startTime": 1617164391000, "records": [ { "id": 28, "name": "時間辨識", "value": 30.0, "target": 40.0, "unit": "次", "achieved": 0 }, { "id": 27, "name": "記憶力", "value": 30.0, "target": 20.0, "unit": "次", "achieved": 1 } ] } ] } } ```