獲選設備 數據串接API 格式說明

新現代五項
API

Introduction

環境 URL
測試站 api.itsport.tw/stage/TISA/upload
正式站 api.itsport.tw/TISA/upload

設備專屬(URL/設備類別碼)

  • 結果公告後(0711~1031):
  • 針對通過評選之設備商,提供專屬URL以及文字設備類別碼,如下所示

    設備名稱 設備類別碼 專屬 URL
    uGym 輕艇激流 uGYMRafting https://{URL}/uGYMRafting/
    炫光跑酷 LightingRun LightingRun https://{URL}/LightingRun/
    Metapunch元宇宙拳擊 Metapunch https://{URL}/Metapunch/
    WhizToys極限跳房子 WhizToys https://{URL}/WhizToys/
    瘋狂射手 CrazyShooters https://{URL}/CrazyShooters/

    服務名稱:運動數據上傳 (ITSportData)

    服務目的:每次設備使用完畢後,運動設備上傳該筆運動過程記錄料,資料內容如下:

    Request Body :

    參數名稱 格式 長度 必要 描述
    Data.serviceName 服務名稱 50 N 默認為ITSportData
    Data.DateTime TimeStamp 10 Y 開始時間
    Data.EndTime TimeStamp 10 Y 結束時間
    Data.Mac String 20 Y 設備唯一碼,可使用網卡位置或其他自定義格式
    Data.Type String 20 Y 設備類別碼

    設備名稱設備代號
    uGym 輕艇激流uGYMRafting
    炫光跑酷 Lighting RunLightingRun
    Metapunch元宇宙拳擊Metapunch
    WhizToys極限跳房子WhizToys
    瘋狂射手CrazyShooters
    Data.Summary String 20 Y 數據簡易呈現內容
    Data.Version String 20 未輸入則以0判定,不同的資料版本使用不同的UI呈現

    JSON格式 其他欄位可以自行夾帶 顯示端需要之資料內容

    Response Body:

    name description memo
    Data.ServiceName 服務名稱 ITSportData
    Data.Status 1(呼叫成功)/0(呼叫失敗)
    Data.Result.returnMsg 回傳訊息
    Data.Result.returnCode 回傳代碼
    Data.Result.Data 回傳資料 N/A

    Example:

    request 1

    {
      "Data":{
        "DATETIME": "1648474644",
        "ENDTIME": "1648475335",
        "MAC": "30AEA4982644",
        "Type": "91670788",
        "Distance":[0,0.06,0.06,0.46,0.47,0.48,0.73,0.75,0.75,0.75,0.76,1.35,1.35,-0.01],
        "Speed":[1.48,7.99,7.99,5.95,5.6,5.6,4.47,4.47,3.92,3.94,3.92,3.92,3.92,3.76,3.76,3.76,3.76,2.25,1.93,0.77,0.77,0.65,0.65,0.55,0],
        "RequestData":{"Lang":"zh_tw","Unit":"M"},
        "Summary":{"距離":"3.56","均速":"8.86"},
        "Version":"1.06.32"
      }
    }
    

    response 1

    {
        "Data": {
            "ServiceName": "ITSportData",
            "Status": 1,
            "Type": "91670788",
            "Result": {
                "returnMsg": "儲存成功",
                "returnCode": "0000"
            }
        }
    }
    

    request 2

     { "Data":{
        "DATETIME": "1648474664",
        "ENDTIME": "1648475375",
        "MAC": "Comapl-Dance01",
        "Type": "PassedCompany1",
        "Subtype": "燈滅",
        "SinglePadResponsTime":[0,0.6,1.08,2.26,3.47,4.48,5.73,6.75,8.75],
        "SpeedPerPad":[0,1.67,2.08,0.85,0.83,0.99,0.8,0.98,0.5],
        "Summary":{"秒數":"8.75","狀態":"後繼無力"}
      }
    }
    

    response 2

    {
        "Data": {
            "SeviceName": "ITSportData",
            "Status": 1,
            "Type": "PassedCompany1",
            "Result": {
                "returnMsg": "儲存成功,無對應版本預設呈現為1.0",
                "returnCode": "0001"
            }
        }
    }
    

    服務名稱:設備心跳回報 (HeartBeat)

    服務目的:設備狀態回報,每兩分鐘請回報一次其設備狀態,以確保設備狀態及其所在之網路狀態正常,回報之資料內容如下:

    Request Body :

    參數名稱 格式 長度 必要 描述
    Data.serviceName 服務名稱 50 Y HeartBeat
    Data.Type String 20 Y
    設備名稱設備類別碼
    uGym 輕艇激流uGYMRafting
    炫光跑酷 Lighting RunLightingRun
    Metapunch元宇宙拳擊Metapunch
    WhizToys極限跳房子WhizToys
    瘋狂射手CrazyShooters
    Data.Info Array Y 考慮回報資料可能來自場域邊緣伺服器雲端,此處設計可一次回傳多筆設備狀態
    Data.Info[].Mac String 50 Y
    設備設備唯一碼
    邊緣伺服器伺服器代碼
    雲端設備雲端代碼
    Data.Info[].InfoType String 30 Y
    設備Machine
    邊緣伺服器Edge
    雲端Cloud
    Data.Info[].Status String 30 Y
    設備狀態設備狀態碼備註
    未上線off設備端自行上傳
    則無需描述
    正常待機on待機狀態
    使用中go2分鐘區間判斷
    設備故障error介面上提醒
    場域管理人員

    Response Body:

    name description memo
    Data.ServiceName 服務名稱 HeartBeat
    Data.Status 1(呼叫成功)/0(呼叫失敗)
    Data.Result.returnMsg 回傳訊息
    Data.Result.returnCode 回傳代碼
    Data.Result.Data 回傳資料 N/A

    Example:

    request 1

    {
      "Data": {
        "serviceName": "HeartBeat",
        "Type":"uGYMRafting",
        "Info": [
          {
            "Mac": "ugym-computer-01",
            "InfoType": "Edge",
            "Status": "on"
          },
          {
            "Mac": "30AEA4982188",        
            "InfoType": "Machine",
            "Status": "on"
          },
          {
            "Mac": "30AEA4982644",
            "InfoType": "Machine",
            "Status": "on"
          }
        ]
      }
    }
    

    response 1

    {
        "Data": {
            "ServiceName": "HeartBeat",
            "Status": 1,
            "Type": "uGYMRafting",
            "Result": {
                "returnMsg": "儲存成功",
                "returnCode": "0000"
            }
        }
    }
    
    

    request 2

    {
      "Data": {
        "serviceName": "HeartBeat",
        "Type":"LightingRun",
        "Info": [
          {
            "Mac": "ComaplCloud-01",
            "InfoType": "Cloud",
            "Status": "on"
          },
          {
            "Mac": "lysc-Dance01",
            "InfoType": "Machine",
            "Status": "on"
          },
          {
            "Mac": "lysc-Dance02",
            "InfoType": "Machine",
            "Status": "on"
          }
        ]
      }
    }
    
    

    response 2

    {
        "Data": {
            "ServiceName": "HeartBeat",
            "Status": 1,
            "Type": "LightingRun",
            "Result": {
                "returnMsg": "儲存成功",
                "returnCode": "0000"
            }
        }
    }