HiTeach API
Jeff редактировал эту страницу 3 лет назад

HiTeach API

全球站點 API : https://www.teammodel.net

中國站點 API : https://www.teammodel.cn

開發站點 API: https://teammodelos-test.chinacloudsites.cn


API列表 (所有API都須訪問金鑰)

取得老師個人相關數據
取得老師所在學校相關數據
取得學生名單
開始課堂
取得試卷
取得試題
取得課綱
取得知識點
錯誤碼


取得老師個人相關數據

{Header}

Parameter Type Required Info
id_token string 必須 TMID Id Token

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-teacher-info

無傳遞參數

成功返回

{ 
  blob_uri:"XXXXXXXXXXXX", (老師Blob網址)
  blob_sas:"XXXXXXXXXXXX", (老師Blob金鑰,讀寫)
  schools:[  (老師加入的學校清單)
        {
            "schoolId": "hbcn",  (學校簡碼)
            "name": "玉山學校",  (學校名稱)
            "status": "join"  (加入狀態 "invite":邀請 "invite":學校邀請 "request":老師申請 "join":"成為學校老師")
        }
  ],
  defaultschool: "hbcn", (預設學校簡碼)
  courses:[  (老師的個人課程)
        {
            "id": "course123456", (課程ID)
            "name": "個人課程001", (課程名稱)
            "classes": [  (此課程的班級列表)
                {
                    "code": "Class-hbcn", (班級分區鍵)
                    "id": "個人課程001",  (班級ID)
                    "name": "一年级一班", (班級名稱)
                    "teacher": {  (班主任資訊)
                        "id": "abcd",
                        "name": "小明"
                    },
                    "scope": "private"  (班級個人/學校屬性  "school":學校 "private":個人)
                }
            ]
        }
  ]
  syllabus:[  (老師的個人課綱)
        {
            "id": "86a1c3cf-a550-4cfe-9e3c-1447d9785cc2", (卷ID)
            "name": "國文第一卷", (卷名稱)
            "period": null, (學段)
            "semester": null, (學期)
            "grade": null, (年級)
            "subject": null, (科目)
            "resourceCount": 1, (關聯資源數)
            "itemCount": 1, (關聯試題數)
            "structure": [ (此課綱架構 第一層為卷資料,"children"中為所屬階層架構)
                {
                    "id": "86a1c3cf-a550-4cfe-9e3c-1447d9785cc2", 
                    "name": "國文第一卷",
                    "children": [
                        {
                            "id": "1f23e7dd-cb98-4a1f-913f-a57a16677191",
                            "name": "國文第一卷第一章",
                            "children": [...(以下略)]
                        }
                    ]
                }
            ]
        },
   ],
   items:[  (老師的個人試題)
       {
           "id": "fc24a6d7-8923-4399-a2c4-0c12b3e266c6",  (試題ID)
            "blob": "/abcd/item/fc24a6d7-8923-4399-a2c4-0c12b3e266c6.json",  (試題blob相對路徑)
            "type": "single",  (試題類型 single: 单选题, multiple: 多选题, judge: 判断题, complete: 填空题, subjective: 问答题, compose: 综合题)
            "points": [ (知識點)
                {
                    "id": "79c87bdb-8b47-439f-8d57-8cb4962e2dc6",  (知識點ID)
                    "name": "語文知識點"  (知識點名稱)
                }
            ],
            "field": 1,   (認知層次 1:知識, 2:理解, 3:應用, 4:分析, 5:綜合, 6:評鑑)
            "subjectName": "語文", (科目名稱 ※註:老師個人試題不關聯學校科目ID)
            "level": 1 (等級 1:容易 2:較易 3:一般 4:較難 5:困難)
            "useCount": 13, (使用次數)
            "createDate": 1597161600 (創建時間)
       }
   ],
   papers: [  (老師的個人試卷)
        {
            "id": "fac0b98a-baaf-4d4c-bf66-1428f6e825c7",  (試卷ID)
            "name": "2020年上學期一年級自然科期中考", (試卷名稱)
            "blob": "/XabcdXX/paper/2020年上學期一年級自然科期中考/", (試卷blob相對路徑)
            "subjectName": "語文", (科目名稱 ※註:老師個人試卷不關聯學校科目ID)
            "score": 100, (試卷總分)
            "useCount": 13, (使用次數)
            "createDate": 1597161600 (創建時間)
        }
    ]
}

取得老師所在學校相關數據

{Header}

Parameter Type Required Info
id_token string 必須 TMID Id Token

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-school-info

Parameter Type Required Info
id_token string 必須 TMID Id Token
school_code string 必須 學校簡碼

成功返回

{ 
  blob_uri:"XXXXXXXXXXXX", (學校Blob網址)
  blob_sas:"XXXXXXXXXXXX", (學校Blob金鑰,讀)   
  periods: [  (學段資訊)  
        {
            "id": "1",  (學段ID)
            "name": "小學"  (學段名稱)
        }
  ],
  grades: [  (年級資訊)  
        {
            "id": "1",  (年級ID)
            "name": "一年級",  (年級名稱)
            "periodId": "1"  (學段ID)
        }
  ],
  subjects: [  (科目資訊)  
        {
            "id": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",  (科目ID)
            "name": "語文",  (科目名稱)
            "periodId": "1"  (學段ID)
        }
  ]
  courses:[  (老師的學校課程)
        {
            "id": "Language101", (課程ID)
            "name": "一年級語文", (課程名稱)
            "classes": [  (此課程的班級列表)
                {
                    "code": "Class-hbcn", (班級分區鍵)
                    "id": "Class0101",  (班級ID)
                    "name": "一年級", (班級名稱)
                    "teacher": {  (班主任資訊)
                        "id": "abcd",
                        "name": "小明"
                    },
                    "scope": "school"  (班級個人/學校屬性  "school":學校 "private":個人)
                },
            "scope": "school"  (課程個人/學校屬性  "school":學校 "private":個人)
        }
  ]
  syllabus:[  (老師的校本課綱)
      {
            "id": "56fecf23-7b45-4407-86ef-81feaf8ba244", (卷ID)
            "name": "數學第一卷", (卷名稱)
            "period": { "id": "1", "name": "小學" }, (學段)
            "semester": { "id": "1", "name": "上學期" }, (學期)
            "grade": { "id": "XXX", "name": "XXX" }, (年級)
            "subject": { "id": "8b94c6b6-2572-41e5-89b9-a82fcf13891e", "name": "語文" }, (科目)
            "resourceCount": 1, (關聯資源數)
            "itemCount": 1, (關聯試題數)
            "structure": [ (此課綱架構 第一層為卷資料,"children"中為所屬階層架構)
                {
                    "id": "56fecf23-7b45-4407-86ef-81feaf8ba244", 
                    "name": "數學第一卷",
                    "children": [
                        {
                            "id": "99c0adcd-74e7-4b41-a3f2-cc6f9534203c",
                            "name": "數學第一卷第一章",
                            "children": [...(以下略)]
                        }
                    ]
                }
            ]
       }
   ],
   items: [  (校本試題)
       {
           "id": "03eb7464-4b81-4899-9260-9a555b7fc502", (試題ID)
           "blob": "/abcd/item/03eb7464-4b81-4899-9260-9a555b7fc502.json", (試題blob相對路徑)
           "type": "single", (試題類型 single: 单选题, multiple: 多选题, judge: 判断题, complete: 填空题, subjective: 问答题, compose: 综合题)
           "points": [ (知識點)
               {
                    "id": "79c87bdb-8b47-439f-8d57-8cb4962e2dc6",  (知識點ID)
                    "name": "數學知識點"  (知識點名稱)
                }
            ],
            "field": 1,   (認知層次 1:知識, 2:理解, 3:應用, 4:分析, 5:綜合, 6:評鑑)
            "periodId": "1",   (學段ID)
            "gradeIds": [ "1", "2" ], (年級ID)
            "subjectId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e", (學科ID)
            "level": 1, (等級 1:容易 2:較易 3:一般 4:較難 5:困難)
            "useCount": 0, (引用次數)
            "createDate": 1597161600 (創建時間)
       }    
   ],
   papers: [  (校本試卷)
        {
            "id": "0c594c76-afb7-4c53-9e1d-c4d44dc14ca2", (試卷ID)
            "name": "2020年上學期一年級數學科期中考", (試卷名稱)
            "blob": "/hbcn/paper/2020年上學期一年級數學科期中考/", (試卷blob相對路徑)
            "periodId": "1",   (學段ID)
            "gradeIds": [ "1", "2" ], (年級ID)
            "subjectId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e", (學科ID)
            "score": 100, (試卷總分)
            "useCount": 0, (引用次數)
            "createDate": 1597161600 (創建時間)
        }
   ],
   points: [  (知識點列表)
       {
           "id": "aa617cc3-7347-4cf6-b327-0371ffceca78",
           "name": "錯讀音",
           "subjectId": "f1d5da96-8428-421e-b665-2aa0c2ae8b49"
       }
   ]
}

錯誤返回

{ 
  error = 1, message = "學校無此老師"  
}

取得班級學生名單,支持學校或老師個人

{Header}

Parameter Type Required Info
id_token string 必須 TMID Id Token

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-students-list

Parameter Type Required Info
grant_type string 必須 school:學校 private:個人
id_token string 必須 TMID Id Token
class_code string 必須 教室編號(班級代碼)
school_code string scope是school時請傳入

成功返回

{ 
  students:[  (學生列表)  
        {
            "id": "24904",
            "name": "黄安俐",
            "no": "1",
            "schoolId": "hbcn"
        }
  ],
  groups:[    (分組列表)
      {
          "id": "2",
          "name": "A組",
          "studentIds": [
              "24904",
              "24905"
          ]
      }
  ]  
}

錯誤返回

{ 
  error = 1, message = "學校無此班級"  
}

開始課堂

{Header}

Parameter Type Required Info
id_token string 非必須 TMID Id Token

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/start-lesson

Parameter Type Required Info
lesson_id string 非必須 無值實請傳null

成功返回

{ 
  lesson_code:"XXXXXXXXXXXX", (授課ID ※雪花ID)  
}

處理概要

  • 若未傳遞lesson_id、可取得id_token,則生成授課ID,建立綁定資料後返回值
  • 若lesson_id、id_token皆可取得,則更新綁定資料後返回值
  • 若lesson_id、id_token皆無法取得,則不記入DB,生成授課ID後返回值
  • 若可取得lesson_id、無法取得id_token,則返回BadRequest

取得試卷

{Header}

Parameter Type Required Info
periodId string 非必須 學段ID ※個人試卷無效
gradeId string 非必須 年級ID ※個人試卷無效
subjectId string 非必須 科目ID ※個人試卷無效
subjectName string 非必須 科目名稱
grant_type string 必須 請傳入scope是school or private
school_code string 非必須 學校ID (scope是school時必須)
order string 非必須 排序項目 createDate:創建時間(default) useCount:使用次數
perpage int 非必須 每頁幾條
page int 非必須 目前第幾頁 1:第一頁

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-paper

成功返回

{
    "papers":                                                          //試卷列表 [Array]
    [ 
        {
                "name": "2020年上學期一年級數學科期中考",                //試卷名稱 [String]
                "blob": "/paper/2020年上學期一年級數學科期中考/",        //試卷blob相對路徑 [String]
                "periodId": "463db08d-cbe7-48a0-a81a-fc39b3c1fep1",    //學段ID [String]
                "gradeIds": [                                          //年級ID [Array]
                    "1379ac00-ccaf-4bb4-9dae-1fccb0031421",
                    "8d9aedbb-c81d-4c07-8f6d-3b8cc6be7ca2"
                ],
                "subjectId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",   //科目ID [String]
                "subjectName": "语文",                                 //科目名稱 [string]
                "itemCount": 10,                                       //題目數 [Int]
                "score": 100, (試卷總分)                                //試卷總分 [Int]
                "useCount": 0, (引用次數)                               //引用次數 [Int]
                "createDate": 1597161600 (創建時間)                     //創建時間 [Long]
        },
    ],
    "totalCount": 32                                                   //試卷總數 [Int]
}

取得試題

{Header}

Parameter Type Required Info
periodId string 非必須 學段ID
gradeId string 非必須 年級ID
subjectId string 非必須 科目ID
subjectName string 非必須 科目名稱
type string 非必須 題型
level int 非必須 難度
field int 非必須 層次
grant_type string 必須 請傳入scope是school or private
school_code string 非必須 學校ID (scope是school時請傳入)
perpage int 非必須 每頁幾條
page int 非必須 目前第幾頁

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-item

成功返回

{
    "papers":                                                               //試題列表 [Array]
        [ 
            {
                "id": "hbcntest-t001-t002-t003-t0000000001",                //試題ID [string]
                "type": "single",                                           //試題類型 [string] single: 单选题, multiple: 多选题, judge: 判断题, complete: 填空题, subjective: 问答题, compose: 综合题)
                "blob": "/item/hbcntest-t001-t002-t003-t0000000001.json",   //試題blob相對路徑 [string]
                "periodId": "463db08d-cbe7-48a0-a81a-fc39b3c1fep1",         //學段ID [string]
                "gradeIds": [                                               //年級ID [Array]
                    "1379ac00-ccaf-4bb4-9dae-1fccb0031421",
                    "8d9aedbb-c81d-4c07-8f6d-3b8cc6be7ca2"
                ],
                "subjectId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",        //科目ID [string]
                "subjectName": "语文",                                      //科目名稱 [string]
                "field": 1,                                                 //認知層次 [Int] 1:知識, 2:理解, 3:應用, 4:分析, 5:綜合, 6:評鑑)
                "level": 1,                                                 //等級 [Int] 1:容易 2:較易 3:一般 4:較難 5:困難
                "useCount": 0,                                              //引用次數 [Int] 
                "createDate": 1597161600                                    //創建時間 [Long]
            },
        ],
    "totalCount": 32                                                        //試題總數 [Int]
}

取得課綱

{Header}

Parameter Type Required Info
grant_type string 必須 school:學校 private:個人
school_code string ※非必須 學校ID (※grant_type=school時為必須)
periodId string 非必須 學段ID
subjectId string 非必須 科目ID
volumeId string 非必須 卷ID
syllabusId string 非必須 課綱ID
display int 非必須 輸出模式 0:全輸出 1:只輸出卷 (default:0)

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-syllabus

成功返回

[
  {
    "periodId": "127e71a7-0ca8-82b8-476b-5269b78066f7",  //學段ID
    "subjectId": "a7889d01-36bb-dbad-8662-d218a1eaf730", //科目ID
    "volumeId": "5b128d8c-7610-4940-a982-b731dac99d5e", //卷ID
    "gradeId": 2, //年級ID
    "semesterId": "1", //學期ID
    "name": "英語九年級上学期", //卷名
    "creatorId": "1595321354", //創建者ID
    "creatorName": null, //創建者姓名
    "school": "hbgl", //學校ID
    "scope": "school", //學校/個人
    "syllabusIds": [ //屬於本卷的課綱ID
      "1d5cce41-faf0-9546-3885-ee17d09f3b6e"
    ],
    "auth": [ //編輯者
        {
            "tmdid": "1525658219",
            "tmdname": "Willa"
        }
    ],
    "syllabus": [ ///屬於本卷的課綱詳細資訊 ※display=1時無此欄位內容,為空Array
      {
        "id": "1d5cce41-faf0-9546-3885-ee17d09f3b6e", //課綱ID
        "volumeId": "163a800e-8d86-463e-8e82-c7cd1c9708f8", //卷ID
        "codeval": "1595321354", //學校ID/個人ID (Blob容器名)
        "scope": "school", //學校/個人
        "trees": [ //課綱樹狀架構
          {
            "id": "1d5cce41-faf0-9546-3885-ee17d09f3b6e", //課綱ID
            "pid": "163a800e-8d86-463e-8e82-c7cd1c9708f8", //父節點課綱ID
            "order": 0, //排序
            "creatorId": "1595321354", //創建者
            "creatorName": null,
            "updateTime": 1625637184956,
            "title": "節點1", //課綱名稱
            "rnodes": [ //資源列表
              {
                "type": "image",
                "id": "36867291-3d97-d8de-b31c-feaf4b61ab99",
                "code": "hbgl",
                "scope": "school",
                "cntr": "hbgl",
                "link": "/syllabus/logo.png",
                "hash": null,
                "duration": 0,
                "size": null,
                "title": "logo.png"
              }
            ],
            "cids": [ //子節點ID列表
              "1BA85417-AF2F-40DA-B5B0-5FCF8D374A41"
            ],
            "children": [ //子節點樹狀架構
              {
                "children": [],
                "id": "1BA85417-AF2F-40DA-B5B0-5FCF8D374A41", //課綱ID
                "pid": "1d5cce41-faf0-9546-3885-ee17d09f3b6e", //父節點課綱ID
                "order": 0,
                "rnodes": [], 
                "cids": [],
                "creatorId": "1595321354",
                "creatorName": null,
                "updateTime": 1625637184956,
                "title": "節點1-1"
              }
            ]
          }
        ],
        "auth": []
      }
    ]
  }
]

取得知識點 [未完成]

{Header}

Parameter Type Required Info
periodId string 非必須 學段ID
subjectId string 非必須 科目ID
school_code string 必須 學校ID

{POST} https://teammodelos-test.chinacloudsites.cn/hiteach/get-knowledge

成功返回

[  (知識點列表)
       {
           "id": "aa617cc3-7347-4cf6-b327-0371ffceca78",
           "name": "錯讀音"
       }
   ]