AL 校友系統
Response Error Codes
AL1001 登入失敗
AL1002 輸入錯誤
AL1003 請先進行密碼變更
AL1004 不得使用先前密碼
ALA01 - 登入
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| st_no | string | 學號 |
| password | String | 密碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
AL1002 輸入錯誤
AL1003 請先進行密碼變更
Logic
TABLE
| table | Description |
|---|---|
| al_login |
- 抓學生最新登入資料(資料排序created_at),
- 輸入st_no正確 > is_init = 0 > 輸入password正確則登入
- 輸入st_no錯誤回傳 AL1002 查無資料
- is_init != 0 回傳 AL1003 請先進行密碼變更
- 輸入password錯誤回傳 AL1001 登入失敗
Update
2021/08/31
ALA02 - 變更密碼
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/chg-pswd
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| st_no | string | 學號 |
| password_old | String | 舊密碼 |
| password_new | String | 新密碼 |
| password_cfm | String | 確認密碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1002 輸入錯誤
AL1004 不得使用先前密碼
Logic
TABLE
| table | Description |
|---|---|
| al_login |
- st_no、password_old與該學生最新(判斷 update_time 舊資料學生為 null)資料相符往下進行,否則回傳 AL1002 輸入錯誤
- password_new = password_cfm 往下進行,否則回傳 AL1002 輸入錯誤
- password_cfm 不得為過去密碼,否則回傳 AL1004 不得使用先前密碼
- 驗證無誤新增一筆al_login 壓st_no、password、is_init = 0、updated_at (密碼變更日期)
Update
2021/09/24
ALA03 - 無法登入(忘記密碼)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/forgot-pswd
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| st_no | string | *學號 |
| en_name | String | *英文姓名 |
| term_year | String | *入學西元年 |
| gra_sem 改用 gra_year | String | 畢業西元年 |
| dep_no | String | *畢業系所 (st_st.dep_no) |
| degree_no | String | *畢業學制 (st_st.dep_no) |
| st_enroll_ident | String | *入學身份 |
| receive_email | String | *密碼收件信箱 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1002 查無資料
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- receive_email之外輸入條件皆須符合,否則回傳 AL1002 查無資料
- 若查詢符合則寄送忘記密碼信到receive_email
- 依照當前語系取信件樣板(ALF02 )寄送。 亂數密碼產生方式可以參考"APA11 - 發送忘記密碼"。
- en_name 比對時去除全形/半形空格、符號!@#$%^&*()_.-=+~...等、不分大小寫
- term_year 前端輸入西元年,與DATABASE比對時要轉成民國年+學期別的組合 EX: 2020 -> 109上、108下
- gra_year 資料庫已是西元年,且處理過下學期+1規則
- 有資料則更新,否則新增
Update
2021/08/31
ALA04 - 取得SPET1資料
Request範例
curl -L -X POST '{{frontapi.url}}/v1/al/get-basic' \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json'
HTTP Request
POST {{frontapi.url}}/v1/al/get-basic
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| -- | -- | -- |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name", // 學生中文姓名
"en_name", // 學生英文姓名
"gender", // 性別
"degree_no", // 學制代碼 st_st.dep_no
"dep_no", // 系所代碼 st_st.dep_no
"gra_year", // (移除 避免錯用) 畢業學年(西元年), 4碼
"gra_date", // (新增) 畢業西元年月。 取gra_year(yyyy)+gra_month(MM)組合成yyyyMM,例如202101。
"gra_term", // 畢業學年期, 一碼
"gra_sem", // 畢業學年 帶出st_st.gra_sem
"id_no", // 身分證號
"passport_no", // 護照/大通證號碼
"st_no", // 學號
"st_enroll_ident", // 入學身分
"nationality" // 國別
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- gra_year (API移除)、gra_term 由 gra_sem 欄位拆分
Update
2021/08/31
ALA05 - 更新SPET1資料
Request範例
{
"gra_year" : "2020",
"gra_term" : "2",
"passport_no" : "A123456"
}
HTTP Request
POST {{frontapi.url}}/v1/al/update-basic
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| passport_no | String | 護照/大通證號碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- gra_year、gra_term 合併成 gra_sem
- 更新後call ALA16 更新離校辦裡狀態
Update
2021/09/24
ALA06- 取得SPET2資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/get-leave
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| -- | -- | -- |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"address_m", // 永久地址
"tel_m", // 永久電話
"cellphone_m", // 聯絡手機
"open_cellphone", // 聯絡手機公開
"tel_now_m", // 聯絡電話
"open_tel", // 聯絡電話公開
"address_now_m", // 通訊地址
"open_address", // 通訊地址公開
"email_m", // Email
"open_email", // Email公開
"al_asso" // 校友會
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
Update
2021/08/31
ALA07 - 更新SPET2資料
Request範例
{
"address_m": "澳門xxxxx10/J",
"tel_m": "853-11112222",
"cellphone_m": "",
"open_cellphone": "Y",
"tel_now_m": "853-11112222",
"open_tel": "Y",
"address_now_m": "男x舍222",
"open_address": "Y",
"email_m": "aaa_bbb@hotmail.com",
"open_email": "Y",
"al_asso": "B13"
}
HTTP Request
POST {{frontapi.url}}/v1/al/update-leave
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| address_m | string | 永久地址 |
| tel_m | String | 永久電話 |
| cellphone_m | String | 聯絡手機 |
| open_cellphone | String | 聯絡手機公開 |
| tel_now_m | String | 聯絡電話 |
| open_tel | String | 聯絡電話公開 |
| address_now_m | String | 通訊地址 |
| open_address | String | 通訊地址公開 |
| email_m | String | |
| open_email | String | Email公開 |
| al_asso | String | 校友會 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- 更新後call ALA16 更新離校辦理狀態
- 額外壓 st_st.al_update_time 格式yyyy/MM/dd HH:mm:ss
Update
2021/09/24
ALA08 - 取得SPET3資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/get-graduate
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| -- | -- | -- |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"job_status", // 工作狀態
"job_category", // 工作領域
"job_other", // 工作領域-其他
"job_company", // 服務單位
"job_title", // 職務名稱
"job_country", // 工作國別
"fs_status", // 進修狀態
"fs_sch", // 就讀學校
"fs_dep", // 系所
"fs_degree", // 進修學制
"fs_country", // 進修國別
"plan_dscpt" // 計畫說明
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
Update
2021/08/31
ALA09 - 更新SPET3資料
Request範例
{
"job_status": "1",
"job_category": "g",
"job_other": "",
"job_company": "學校",
"job_title": "老師",
"job_country": "MO",
"fs_status": "",
"fs_sch": "",
"fs_dep": "",
"fs_degree": "",
"fs_country": "",
"plan_dscpt": ""
}
HTTP Request
POST {{frontapi.url}}/v1/al/update-graduate
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| job_status | string | 工作狀態 |
| job_category | String | 工作領域 |
| job_other | String | 工作領域-其他 |
| job_company | String | 服務單位 |
| job_title | String | 職務名稱 |
| job_country | String | 工作國別 |
| fs_status | String | 進修狀態 |
| fs_sch | String | 就讀學校 |
| fs_dep | String | 系所 |
| fs_degree | String | 進修學制 |
| fs_country | String | 進修國別 |
| plan_dscpt | String | 計畫說明 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st | |
| al_history |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- "新增"SPET3資料到al_history相同欄位。sort_no = 0;fs_other = '';update_time = "yyyy/MM/dd HH:mm:ss" 。
- 更新後call ALA16 更新離校辦理狀態
Update
2021/09/24
ALA10 - 取得SPET5資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/get-suggest
Request
- Auth Required
| Parameter | Type | Description |
|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"al_suggestion" // 離校問卷建議
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
Update
2021/08/31
ALA11 - 更新SPET5資料
Request範例
{
"al_suggestion" : "嗨嗨好棒棒"
}
HTTP Request
POST {{frontapi.url}}/v1/al/update-suggest
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| al_suggestion | string | 離校問卷建議 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗 AL1005 限制300字以內
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- 驗證中英文 字串長度 MAX 300, EX: "AL很棒。"長度即為5
Update
2021/08/31
ALA12 - 下拉內容 - 使用SSA03
取得各下拉選單內容,各選單由每個項目的值與顯示中英文名稱一組的構成陣列。
Request範例
HTTP Request
POST {{frontapi.url}} /v1/al/get-dropdown
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"al_gra_term": [ //畢業期別
{
"value": "1",
"ch_name": "上學期",
"en_name": "First Semester"
}, …
],
"al_asso": [ //校友會
{
"value": "A",
"ch_name": "--- 國內校友會",
"en_name": "Domestic Alumni Association ---"
}, …
],
"job_status": [ //工作狀態
{
"value": "0",
"ch_name": "找工作",
"en_name": "Looking for a job"
}, …
],
"al_job": [ … ], //工作領域
"ref_country": [ … ], //國別
"fs_status": [ … ], //進修狀態
"fs_degree": [ … ], //進修學制
"sch_dep": [ // 系所
{
"value": "00",
"ch_name": "教育學系",
"en_name": "Department of Education"
}, …
],
"oia_sch_degree_no": [ … ], //畢業學制
"st_enroll_ident_type": [ … ] //入學身份
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/08/31
ALA13 - 資料填寫狀態
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/get-fillStatus
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"st_status":"A/D/S/G", //A:在校 D:延畢 S:休學 G:畢業 預設為空字串
"basic_status":true/false, //S1
"leave_status": true/false, //S2
"grad_plan_status": true/false, //S3
"qu_status": true/false, //S4 接QU系統
"suggest_status": true/false //S5
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- st_st.st_status 用st_no直接取
- 判斷每一個步驟的必填欄位是否有值。完成= true:未完成= false。
- qu_status打API QUA03帶入 url_key = '4D78DF9E06682D8E80752461549DC0C3'、token 字串帶入 st_no
- suggest_status 判斷al_suggestion欄位不為null/emptyString則為true
Update
2021/08/31
ALA14 - 邀請同學查詢結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/get-inviteList?_limit={limit}&_pageno={pageno}
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| ch_name | N | 中文姓名 |
| en_name | N | 英文姓名 |
| department | Y | 系所代碼 |
| gra_year | Y | 畢業學年(西元年) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page", //REF. PTA17
"invite_list": [
{
"st_no", // 學號
"ch_name",
"en_name",
"dep_no", // 系所代碼 ex: 00
"gra_sem" //1101
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- department判斷dep_no
- gra_year轉民國年判斷gra_sem
- en_name 比對時去除全形/半形空格、符號!@#$%^&*()_.-=+~...等、不分大小寫
Update
2021/08/31
ALA15 - 寄送邀請填寫信
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/send-inviteEmail?locale={locale}
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| locale | string | en / zh-tw REF. APA15 |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| st_no | Y | 學號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st | |
| ss_email_template |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- 套用信件樣板 ALF01
- al_url 取 ss_config
- 寄送信件成功後更新 st_st.activity += 1
Update
2021/08/31
ALA16 - 更新離校手續填寫狀態
Request範例
HTTP Request
POST {{frontapi.url}}/v1/al/update-alFilledStatus
Request
- Auth Required
| Property | Type | Description |
|---|
QueryString or PathInfo
| Parameter | Required | Description |
|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AL1001 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| st_st |
- 判斷登入身份,失敗回傳 AL1001 登入失敗
- call ALA13 func. if(S1&S2&S3&S4 = true and st_status = 'G') then st_st.al_filled = '2' else if(S1&S2&S3&S4 = true and st_status != 'G') then st_st.al_filled = '1'
- ALA05、ALA07、ALA09 執行更新後 call ALA16 func 更新離校辦理狀態
Update
2021/09/24
AP 外國學生申請入學系統
APA01 - 取得AP參數設定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/config
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"config": {
"ap_xxxxxx",
"ap_xxxxxx",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_config | is_enable=1 |
| ap_ckeditor | is_enable=1 |
Update
2021/09/07
APA02 - 取得首頁資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/index-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ap_calendar_ch",
"ap_calendar_en",
"ap_scholarship_ch_title",
"ap_scholarship_en_title",
"ap_scholarship_ch_desc",
"ap_scholarship_en_desc",
"ap_scholarship_ch_link",
"ap_scholarship_en_link",
"index_helper": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"index_bg": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_config | |
| ap_ckeditor | |
| ap_link |
- index_helper(小幫手檔案): table=ap_link, ref_column=index_helper
- index_bg(背景主圖): table=ap_link, ref_column=index_bg
- ap_calendar_ch, ap_calendar_en來自ap_ckeditor; 其餘來自ap_config
Update
2021/09/07
APA03 - 取得可報名專案列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/project-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ap_projects": [{
"proj_no",
"apply_season",
"proj_name",
"proj_en_name",
"term",
"proj_year",
"apply_start_at",
"apply_end_at",
"displayed_apply_end_at",
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_project | is_index_visible=1 |
| ap_project_dep | ap_project.proj_no =ap_project_dep.proj_no |
- apply_end_at = ap_project_dep.exam_end_at 取最大值, 如果沒有值再拿ap_project.apply_end_at => 可開放申請的時間
- displayed_apply_end_at = apply_end_at => 顯示在畫面上的截止日
Update
2022/01/10
APA04 - 取得招生簡章
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/prospectus
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"ch_prospectus": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"en_prospectus": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_prospectus | |
| ap_link |
- select ap_prospectus: 在公告日期區間(exposure_start_at/exposure_end_at)且顯示於首頁(is_index_visible=1), 取公告日期起始日(exposure_start_at)日期最大的一筆
- ch_prospectus(中文簡章): table=ap_link, ref_column=ch_prospectus
- en_prospectus(英文簡章): table=ap_link, ref_column=en_prospectus
Update
2021/09/06
APA05 - 取得系所規定列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/regulation-list?_pageno={pageno}&_limit={limit}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| degree_no | string | |
| apply_season | string | |
| lang_code | string | codemap: ap_regulation_lang |
| col_no | string | 院級代碼 |
| proj_no | string | ap_project.proj_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page": <PAGE_META>,
"regulations": [{
"degree_no",
"col_no",
"dep_no",
"ch_name",
"en_name",
}]
}
}
Response
<PAGE_META> | Property | Type | Description | | -------- | ---- | ----------- | | current | Long | 當前頁數 | | pages | Long | 總共頁數 | | size | Long | 當前筆數 | | total | Long | 總共筆數 |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_regulation | is_enrolled=1 & reg_version=ap_config.reg_version |
| ap_project_dep | is_enrolled=1 & reg_version=ap_config.reg_version |
| ap_project | |
| ap_section | reg_version=ap_config.reg_version |
| ss_sch_dep | |
| ss_sch |
- degree_no, apply_season, lang_code, col_no 這幾個篩選如果沒帶值, 就是拉全部
- apply_season來自ap_project.apply_season (ap_regulation關聯ap_project, ap_project_dep)
- lang_code對應ap_regulation.lang_instruction
- lang_instruction=1 : en
- lang_instruction=2 : en
- lang_instruction=3 : ch
- lang_instruction=4 : 看ap_section.lang_instruction
- lang_instruction=5 : en,ch
20220510調整: - 新增lang_instruction=5判斷, ap_regulation.lang_instruction跟ap_section.lang_instruction都會有5的狀態
Update
2022/05/10
APA06 - 取得單一系所規定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/department-regulation
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| dep_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"dep": {
"dep_no": "ED01",
"col_no": "E",
"dept_no": "01",
"degree_no": "D",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
"projs": [{
"proj_no",
"proj_name",
"proj_en_name",
"proj_year",
"apply_season",
}],
"sections": [{
"serialno",
"ch_section",
"en_section",
"lang_instruction",
}],
"lang_instruction",
"is_keep_qualification",
"admission_evaluation",
"document_review_weight",
"written_exam_weight",
"written_exam_desc_ch",
"written_exam_desc_en",
"technical_test_weight",
"technical_test_desc_ch",
"technical_test_desc_en",
"interview_weight",
"interview_type",
"interview_desc_ch",
"interview_desc_en",
"is_required_qualification",
"enrollment_first_priority",
"enrollment_second_priority",
"is_required_other_qualification",
"other_qualification_ch",
"other_qualification_en",
"is_required_ch_lang",
"ch_lang_skill",
"ch_cefr_lv",
"tocfl_lv",
"hsk_lv",
"ch_lang_desc_ch",
"ch_lang_desc_en",
"ch_lang_opt",
"is_required_en_lang",
"en_lang_skill",
"cefr_lv",
"tofel_lv",
"ielts_lv",
"toeic_lv",
"en_lang_desc_ch",
"en_lang_desc_en",
"en_lang_opt",
"autobiography_ch",
"autobiography_en",
"resume_ch",
"resume_en",
"study_plan_ch",
"study_plan_en",
"master_thesis_ch",
"master_thesis_en",
"research_ch",
"research_en",
"publications_ch",
"publications_en",
"recommend_letters_num",
"recommend_letters_ch",
"recommend_letters_en",
"video_files_ch",
"video_files_en",
"portfolio_ch",
"portfolio_en",
"other_doc_ch",
"other_doc_en",
"note_ch",
"note_en",
"contact_title",
"contact_ch_name",
"contact_en_name",
"contact_tel",
"contact_email",
"website",
"info_ch",
"info_en",
"course_plan_ch",
"course_plan_en",
"career_ch",
"career_en",
"dep_updated_at",
"dep_docs": [{
"doc_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
}],
"exams": [{
"proj_no",
"exam_type",
"is_exam_date_confirmed",
"exam_season_ch",
"exam_season_en",
"exam_start_at",
"exam_end_at",
"exam_at",
"exam_campus",
"exam_location_ch",
"exam_location_en",
}],
"ch_cefr_file_entity_id", // table: ap_link, ref_column: ch_lang_skill_front
"en_cefr_file_entity_id", // table: ap_link, ref_column: en_lang_skill_front
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1014 找不到 ap_regulation
Logic
TABLE
| table | Description |
|---|---|
| ap_regulation | is_enrolled=1 & reg_version=ap_config.reg_version |
| ap_project_dep | is_enrolled=1 & reg_version=ap_config.reg_version |
| ap_project | |
| ap_section | reg_version=ap_config.reg_version |
| ap_dep_doc | reg_version=ap_config.reg_version |
| ap_regulation_exam | reg_version=ap_config.reg_version |
| ss_sch_dep | |
| ss_sch | |
| ap_link |
- projs: ap_project_dep.is_enrolled=1
- sections: ap_section.dep_no = {dep_no}
- dep_docs: ap_dep_doc
- exams: ap_regulation_exam
- dep_docs排序
- doc_no < 200, 請依照codemap: ap_dep_doc_no的順序排序
- 接著是doc_no > 200, 由小排到大
- 最後再加上doc_no=120
20220816調整: - 新增ch_cefr_lv, ch_cefr_file_entity_id, en_cefr_file_entity_id欄位
Update
2022/08/16
APA07 - 取得公告列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/news-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_list": [{
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"content_type",
"link",
"upload_files":[{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_news | |
| ap_link |
- 需判斷現在時間介於exposure_start_at, exposure_end_at之間
Update
2021/07/27
APA08 - 取得單筆公告
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/single-news
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": {
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"content_type",
"link",
"upload_files":[{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_news | |
| np_link |
Update
2021/07/27
APA09 - 申請帳號
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/register
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | |
| apply_dep | string | 對應到ss_sch_dep.dep_no(4碼) |
| degree_no | string | U/M/D (ss_codemap:oia_sch_degree_no) |
| apply_section | string | 對應到ap_section.serialno |
| passport_no | string | |
| string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1008 找不到 ss_sch_dep
AP1010 找不到 ap_section
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- apply_no = 學程(2:學, 7:碩, 9:博)+學年末碼(e.g. 106年取6)+系所代碼2碼+系所組別碼+季別(1:秋, 2:春)+流水碼3碼
- degree_no(U:2, M:7, D:9) + ap_project.term末碼 + ss_sch_dep.dept_no + apply_section + ap_project.apply_season + 流水碼3碼(需取前面6碼數字相同的流水碼最大值+1)
- 密碼規則 = passport_no 末6碼
- insert ap_st: proj_no, apply_no, password, passport_no, email, apply_dep, degree_no, apply_season, apply_section, need_en_taught
- need_en_taught的值來自ap_regulation.lang_instruction, 規則跟APA05的判斷類似,如果是en, 則need_en_taught='Y', 不是的話, need_en_taught='N'
- lang_code對應ap_regulation.lang_instruction
- lang_instruction=1 : 'Y'
- lang_instruction=2 : 'Y'
- lang_instruction=3 : 'N'
- lang_instruction=4 : 看ap_section.lang_instruction
- lang_instruction=5 : 'Y'
- lang_code對應ap_regulation.lang_instruction
- lang_instruction的值對應ap_regulation.lang_instruction
- lang_instruction=1 : en
- lang_instruction=2 : en
- lang_instruction=3 : ch
- lang_instruction=4 : 看ap_section.lang_instruction
- lang_instruction=5 : 不寫值
- regulation_lang_instruction = ap_regulation.lang_instruction(如果是4, =ap_section.lang_instruction)
- need_en_taught的值來自ap_regulation.lang_instruction, 規則跟APA05的判斷類似,如果是en, 則need_en_taught='Y', 不是的話, need_en_taught='N'
- 寄送通知信, 先寄帳號密碼出來, 信件內容會跟承辦人要
- 需判斷同一個護照號碼(passport_no), 不能申請同一個專案(proj_no)、系所(apply_dep)、組別(apply_section)
20220510調整: - 新增lang_instruction=5判斷, ap_regulation.lang_instruction跟ap_section.lang_instruction都會有5的狀態 - 多更新ap_st.lang_instruction & regulation_lang_instruction
20230309調整: - 本來同一護照號碼不能申請同一專案&同系所,多增加一個條件變成:同一個護照號碼(passport_no), 不能申請同一個專案(proj_no)、系所(apply_dep)、組別(apply_section)
Update
2023/03/09
APA10 - 登入
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | |
| password | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1001 登入失敗
AP1009 連續登入失敗
AP1031 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project |
- 檢查帳號密碼是否符合,且專案是否為可報名專案 select from ap_st left join ap_project where apply_no={apply_no} and password={password} and ap_project.is_index_visible=1
- 檢查登入錯誤3次就鎖定600秒無法登入(錯誤次數跟鎖定秒數從ss_config來, oia_login_error_times & oia_login_lock_time)
- 登入失敗時更新ap_st: error_times+1 & login_time=now()
- 登入成功時更新ap_st: login_time=now() & login_success_time=now() & error_times=0
Update
2021/07/12
APA11 - 發送忘記密碼
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/send-password-email
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | |
| apply_dep | string | 對應到ss_sch_dep.dep_no(4碼) |
| degree_no | string | U/M/D (ss_codemap:oia_sch_degree_no) |
| passport_no | string | |
| string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1012 找不到 ap_project
AP1013 重寄密碼信-驗證錯誤
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 看ap_st是否有符合資料的學生, 沒有回錯誤碼
- 寄送帳密通知信, 同APA09
Update
2021/07/18
APA12 - 取得線上申請進度&申請資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status",
"apply_filled_at",
"apply_printed_at",
"payment_paid_at",
"payment_end_at",
"apply_at",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1005 尚未開放線上申請
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project |
- payment_end_at = ap_project_dep.exam_end_at(有值優先;ap_st.apply_dep=ap_project_dep.dep_no) 或 ap_project.apply_end_at
- 可進入條件:
- 報名時間內: ap_project.apply_start_at & payment_end_at
- 待補件狀態ap_st.apply_status=3
- 上面兩個條件2擇1, 如果都不符合則回error code (此功能尚未開放)
webfront
- apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
- 出現error code顯示"此功能尚未開放"
- 前台線上申請流程: 填寫申請表 → 繳費 → 上傳推薦信 → 上傳檔案(列印申請表) → 送出
Update
2021/07/12
APA13 - 取得線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_end_at",
"apply_season",
"degree_no",
"apply_dep",
"apply_section",
"apply_no",
"passport_no",
"ch_name",
"en_name",
"gender",
"birthday",
"birth_place",
"nationality",
"tel",
"cellphone",
"email",
"address_now",
"father_name",
"father_birthday",
"father_nationality",
"monther_name",
"monther_birthday",
"monther_nationality",
"ap_contact_name",
"ap_contact_relationship",
"ap_contact_tel",
"is_university_lecturer",
"university_name",
"position_name",
"q1",
"ch_year",
"ch_month",
"ch_env_1",
"ch_env_2",
"ch_env_3",
"ch_env_4",
"ch_env_5",
"ch_env_4_name",
"ch_env_5_name",
"q4",
"ch_test_1",
"ch_test_2",
"ch_test_3",
"ch_test_1_score",
"ch_test_2_score",
"ch_test_3_score",
"ch_listening",
"ch_speaking",
"ch_reading",
"ch_writing",
"en_qualification",
"en_test_1",
"en_test_2",
"en_test_3",
"en_test_4",
"en_test_1_score",
"en_test_2_score",
"en_test_3_score",
"en_test_4_score",
"en_listening",
"en_speaking",
"en_reading",
"en_writing",
"educations": [{
"degree_no",
"school_name",
"city_country",
"major",
"minor",
"degree",
"granted_date",
}],
"admissions": [{
"admission_no",
"admission_other",
}],
"proj": {
"proj_no",
"proj_name",
"proj_en_name",
"proj_year",
"apply_season",
},
"section": {
"serialno",
"ch_section",
"en_section",
"lang_instruction",
},
"st_scholarship_most",
"st_scholarship_mofa",
"st_scholarship_tw_now_syyyy",
"st_scholarship_tw_now_smm",
"st_scholarship_tw_now_eyyyy",
"st_scholarship_tw_now_emm",
"st_scholarship_icdf",
"st_scholarship_esit",
"esit_detail",
"st_scholarship_other",
"st_scholarship",
"lang_instruction",
"regulation_lang_instruction",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project | |
| ap_st_edu | |
| ap_st_admission | |
| ap_section |
- apply_end_at來自ap_project; educations來自ap_st_edu; admissions來自ap_st_admission; 其餘來自ap_st
- apply_end_at = ap_project_dep.exam_end_at(有值優先;ap_st.apply_dep=ap_project_dep.dep_no) 或 ap_project.apply_end_at
20220510調整: - 新增ap_st.lang_instruction, regulation_lang_instruction欄位
Update
2022/05/10
APA14 - 編輯線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| ch_name | ||
| en_name | ||
| gender | ||
| birthday | ||
| birth_place | ||
| nationality | ||
| tel | ||
| cellphone | ||
| address_now | ||
| father_name | ||
| father_birthday | ||
| father_nationality | ||
| monther_name | ||
| monther_birthday | ||
| monther_nationality | ||
| ap_contact_name | ||
| ap_contact_relationship | ||
| ap_contact_tel | ||
| is_university_lecturer | ||
| university_name | ||
| position_name | ||
| q1 | ||
| ch_year | ||
| ch_month | ||
| ch_env_1 | ||
| ch_env_2 | ||
| ch_env_3 | ||
| ch_env_4 | ||
| ch_env_5 | ||
| ch_env_4_name | ||
| ch_env_5_name | ||
| q4 | ||
| ch_test_1 | ||
| ch_test_2 | ||
| ch_test_3 | ||
| ch_test_1_score | ||
| ch_test_2_score | ||
| ch_test_3_score | ||
| ch_listening | ||
| ch_speaking | ||
| ch_reading | ||
| ch_writing | ||
| en_qualification | ||
| en_test_1 | ||
| en_test_2 | ||
| en_test_3 | ||
| en_test_4 | ||
| en_test_1_score | ||
| en_test_2_score | ||
| en_test_3_score | ||
| en_test_4_score | ||
| en_listening | ||
| en_speaking | ||
| en_reading | ||
| en_writing | ||
| educations | [<AP_ST_EDU>] | |
| admissions | [<AP_ST_ADMISSION>] | |
| st_scholarship_most | ||
| st_scholarship_mofa | ||
| st_scholarship_tw_now_syyyy | ||
| st_scholarship_tw_now_smm | ||
| st_scholarship_tw_now_eyyyy | ||
| st_scholarship_tw_now_emm | ||
| st_scholarship_icdf | ||
| st_scholarship_esit | ||
| esit_detail | ||
| st_scholarship_other | ||
| st_scholarship | ||
| lang_instruction |
<AP_ST_EDU>
| Parameter | Type | Description |
|---|---|---|
| degree_no | ||
| school_name | ||
| city_country | ||
| major | ||
| minor | ||
| degree | ||
| granted_date |
<AP_ST_ADMISSION>
| Parameter | Type | Description |
|---|---|---|
| admission_no | ||
| admission_other |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_st_edu | |
| ap_st_admission |
- 送出時, 更新ap_st: apply_filled_at=now(), md5_code (md5規則參考舊程式src\tw\edu\ntnu\istudent\checkAPP.java的checkAP303MD5)
20220510調整: - 新增request: lang_instruction欄位
Update
2022/05/10
APA15 - 進行線上申請繳費
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ap/pay?token={preview_token}&pay_type={pay_type}&locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| pay_type | string | A: 信用卡, C: WebATM, D: 臨櫃繳費單, G: 超商繳費單 |
| token | string | from SSA06 preview_token |
| locale | string | en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
跳轉到付款頁
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1030 已付款
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getVaccNo, 將回傳的vaccNo更新ap_st.vacc_no (* 如果ap_st.vacc_no已存在, 則不再取新的vacc_no)
- fee = 報名費 + 美術系加考術科費用ap_project.art_fees_nt (ap_section.exam_art='Y'才需要術科費用)
- 報名費 = ap_project.b_fees_nt[ap_st.degree_no='U'] 或 ap_project.m_fees_nt[ap_st.degree_no='M'] 或 ap_project.d_fees_nt[ap_st.degree_no='D']
- vaccNo = 49849(ss_config.oia_vacc_base_no) + 報名管道代碼(ap_config.ap_payment_activity_no) + 學期別 + 招生年度後二碼 + 流水碼4碼
- 學期別: ap_project.apply_season
- 招生年度: ap_project.term
- call service: doPay 直接轉導到付款頁 (將service param存在ap_st.payment_request)
- vacc14 = ap_st.vacc_no
- payType = pay_type
- fee = step1計算出的fee
- dueDate = ap_project_dep.exam_end_at(有值優先;ap_st.apply_dep=ap_project_dep.dep_no) 或 ap_project.apply_end_at (格式為 YYYYMMDD, 例如: 20131230)
- paymentName = ap_config.ap_payment_name
- paymentUser = ap_st.apply_no
- paymentUserNAME = ap_st.en_name
- oiaReturnUrl = APA16 's URL
- update ap_st:
- vacc_no
- pay_currency='NT'
- fees_nt=step1計算出的fee
- pay_kind='7'
- payment_type=pay_type
- payment_request
- payment_start_at=now()
- insert ss_log:
- eno=-1
- category='AP'
- action='APA15'
- data= apply_no, vacc_no, pay_currency, fees_nt, pay_kind, payment_type, payment_request, payment_start_at(將ap_st的這些欄位以json格式儲存)
Update
2021/11/30
APA16 - 繳費交易完成回導頁
師大payment gateway直接回導, 僅能用GET
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ap/payment-completed/{vacc_no}/{locale}?SRC={}&BRC={}&URLResEnc={}&TYP={}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| vacc_no | string | 虛擬帳號(ap_st.vacc_no) |
| locale | string | en | zh-tw |
| SRC | string | 金流回覆碼 |
| BRC | string | |
| URLResEnc | string | (加密資訊) |
| TYP | string |
Response
轉導到前端頁面: ss_config.oia_domain_webfront + ap_config.ap_payment_webfront_return_path
Response Error Codes
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 一進來將收到的request存到ss_log (eno=-1, category='AP', action='APA16', data=request參數), 程式不做任何處理先存
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getPaymentResult
- update ap_st:
- payment_src = SRC
- payment_response = {"SRC": ,"BRC": ,"URLResEnc": ,"TYP": } (20220711改不更新此值)
- vacc_state = from step1 service
- real_receive_fees=ap_st.fees_nt [SRC=00才更新]
- payment_paid_at=now() [SRC=00才更新]
- receive_pay_day=now() (format: YYYY/MM/DD) [SRC=00才更新]
- insert ss_log:
- eno=-1
- category='AP'
- action='APA16'
- data= apply_no, vacc_no, pay_currency, fees_nt, pay_kind, payment_type, payment_request, payment_start_at, payment_src, payment_response, vacc_state, real_receive_fees, payment_paid_at, receive_pay_day(將ap_st的這些欄位以json格式儲存) ### Update
2022/07/11
APA17 - 取得繳費結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/payment-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"apply_no",
"vacc_no",
"vacc_state",
"fees_nt",
"real_receive_fees",
"pay_currency",
"pay_kind",
"receive_pay_day",
"payment_src",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- call service: getPaymentResult
- update ap_st:
- vacc_state = from step1 service
Update
2021/12/16
APA18 - 取得推薦人清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/recommended-list
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"referrers": [{
"identity_code",
"proj_no",
"apply_no",
"name",
"email",
"info",
"sending_status",
"writing_status",
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm |
Update
2021/07/23
APA19 - 新增/編輯推薦人
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-recommended-msg
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| identity_code? | string | 沒帶值表示是新增 |
| name | string | |
| string | ||
| info | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1015 找不到 ap_st_recomm
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm |
- identity_code編碼規則可參考舊程式 Application.java 的 getIdentityCode
Update
2021/07/23
APA20 - 刪除推薦人
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/delete-recommended-msg
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| identity_code | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1015 找不到 ap_st_recomm
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm |
- 需比對identity_code是否是登入者所有
Update
2021/07/23
APA21 - 發送推薦人通知
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/send-recommended-msg
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| identity_code | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1008 找不到 ss_sch_dep
AP1012 找不到 ap_project
AP1015 找不到 ap_st_recomm
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm |
- 需比對identity_code是否是登入者所有
- 信件內容請參考舊程式 Application.java 的 buildRecommendMailBody
- 信件中推薦人填寫頁面連結: ss_config.oia_domain_webfront + ap_config.ap_webfront_referrals_page_path?id={ap_st_recomm.entity_id}&code={ap_st_recomm.identity_code}
- 寄信後更新ap_st_recomm.sending_status=1
Update
2021/07/30
APA22 - 列印線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/print-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
return PDF file
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_st_edu | |
| ap_st_admission |
- 產出線上申請單格式
- 更新ap_st.apply_printed_at = now()
Update
2021/07/23
APA23 - 取得線上申請附件清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-docs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"ch_download_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"en_download_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"dep_docs": [{
"doc_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"md5_code",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_common_doc | |
| ap_dep_doc | |
| ap_project | |
| ap_st | |
| ap_st_doc | |
| ap_link |
- 先取得需上傳的檔案清單:
- docs: ap_common_doc(ap_common_doc.proj_no=ap_st.proj_no)
- dep_docs: ap_dep_doc(ap_dep_doc.dep_no=ap_st.apply_dep)
- upload_file欄位是來自ap_st_doc學生有上傳的附件
- 需過濾掉doc_no=100的資料, 因其移到APA29去更新
- md5_code來自ap_st, 回傳給前台顯示左4碼+"-"+右4碼(同APA22)
20210922調整:
- ap_dep_doc需要拿reg_version=ap_project_dep.reg_version的那組資料
20230309調整:
- docs本來沒有取ch_description、en_description的值, 要多取來自ap_common_doc的值
- docs多回傳ch_download_file跟en_download_file,來自ap_link,可以參考後台AP103的報名資料說明編輯頁會比較清楚對應
webfront
- docs: doc_no對應codemap: ap_doc_no
- dep_docs: doc_no對應codemap: ap_dep_doc_no; 但因為會有系所自訂繳交資料的情況,所以當對不到doc_no的時候,就直接顯示ch_title or en_title
Update
2023/03/09
APA24 - 上傳線上申請附件
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/upload-application-docs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"doc_no",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1017 doc_no 錯誤
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_st_doc | |
| ap_link |
- 附件儲存路徑 /ap/proj/{ap_project.proj_no}/apply/{ap_st.apply_no}/{ap_st_doc.doc_no}.ext
Update
2021/08/02
APA25 - 送出線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/submit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 送出時, 更新ap_st: apply_status = '0' & apply_at=now()
Update
2021/07/23
APA26 - 取得審查結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-result
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status_dep",
"ar_status",
"backup_serial",
"proj": {
"proj_no",
"proj_name",
"proj_en_name",
"proj_year",
"apply_season",
"term",
},
"apply_dep",
"apply_no",
"ch_name",
"en_name",
"dep": {
"dep_no": "ED01",
"col_no": "E",
"dept_no": "01",
"degree_no": "D",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
"section": {
"serialno",
"ch_section",
"en_section",
"lang_instruction",
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1018 未開放審查結果
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project | |
| ss_sch_dep | |
| ss_sch |
- 判斷目前是否介於result_start_at, result_end_at之間, 不符合回error code
- 回傳dep結構, 系所是apply_dep(ch_name跟en_name請拿ss_sch的值)
Update
2021/12/20
APA27 - 取得系所規定可選擇的專案清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/regulation-project-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ap_projects": [{
"proj_no",
"apply_season",
"proj_name",
"proj_en_name",
"term",
"proj_year",
"apply_start_at",
"apply_end_at",
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_project | |
| ap_project_dep | reg_version=ap_config.reg_version |
- 取出ap_project_dep.reg_version=ap_config.reg_version的專案
Update
2021/10/06
APA28 - 取得專案可報名的系所&組別
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"col_no": "E",
"dept_no": "00",
"ch_name": "教育學系",
"en_name": "Department of Education",
"deps": [
{
"dep_no": "EU00",
"col_no": "E",
"dept_no": "00",
"degree_no": "U",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": [
{
"serialno": "1",
"ch_section": "中文組別名稱",
"en_section": "section english name",
"lang_instruction": "1",
}
],
"apply_end_at",
},
{
"dep_no": "EM00",
"col_no": "E",
"dept_no": "00",
"degree_no": "M",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": [
{
"serialno": "1",
"ch_section": "中文組別名稱",
"en_section": "section english name",
"lang_instruction": "1",
}
],
"apply_end_at",
},
]
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_project | is_index_visible=1 |
| ap_project_dep | is_enrolled=1 |
| ap_section | reg_version=ap_project_dep.reg_version |
| ss_sch | is_enabled=1 |
| ss_sch_dep | is_enabled=1 |
20210922調整: 1. ap_section要拿reg_version=ap_project_dep.reg_version 2. deps的ch_name跟en_name請拿ss_sch的值 3. 需判斷ap_project_dep.exam_end_at是否大於目前時間, 如果ap_project_dep.exam_end_at沒有值, 那個科系就是用ap_project.apply_end_at來判斷 4. apply_end_at = ap_project_dep.exam_end_at, 如果沒有值再拿ap_project.apply_end_at
Update
2022/01/10
APA29 - 更新作品集或影音檔案之網頁連結
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-video-url
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| url | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- insert/update remark = {url} from ap_st_doc where doc_no='100'
Update
2021/07/26
APA30 - 取得繳費金額
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/payment-fees
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"fees_nt",
"fees_us",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
Logic
TABLE
| table | Description |
|---|---|
| ap_project | |
| ap_section | |
| ap_st |
- fees_nt = 報名費 + 美術系加考術科費用ap_project.art_fees_nt (ap_section.exam_art='Y'才需要術科費用)
- 報名費 = ap_project.b_fees_nt[ap_st.degree_no='U'] 或 ap_project.m_fees_nt[ap_st.degree_no='M'] 或 ap_project.d_fees_nt[ap_st.degree_no='D']
- 以上是fees_nt的算法, fees_us規則一樣, 只是改取xxx_us的值
Update
2021/07/27
APA31 - 取得圖片/檔案內容
此為公開檔案, 用於前台最新消息、中英文簡章、首頁小幫手檔案與背景主圖
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ap/dl?id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| id | int | ap_link.entity_id |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ap_link |
- 需檢查ap_link: entity_id={entity_id} 且ref_table != (ap_st or ap_st_doc)
- 需處理中文檔名&檔名包含空白問題
Update
2021/07/27
APA32 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上申請
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ap/private-dl?token={preview_token}&id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| id | int | ap_link.entity_id |
Response
return binary file
Response Error Codes
M2003 token過期
S9920 token解析失敗時
Logic
TABLE
| table | Description |
|---|---|
| ap_link | |
| ap_st |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案
- 需處理中文檔名&檔名包含空白問題
Update
2021/07/27
APA33 - 取得推薦人填寫頁面資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/referrer-data
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| entity_id | int | |
| identity_code | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"referrer": {
"identity_code",
"proj_no",
"apply_no",
"name",
"email",
"info",
"sending_status",
"writing_status",
},
"referral": {
"apply_no",
"ch_name",
"en_name",
"cellphone",
"email",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1003 找不到 ap_st
AP1015 找不到 ap_st_recomm
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm | |
| ap_st |
- 要比對entity_id跟identity_code都符合才行
- referrer來自ap_st_recomm
- referral來自ap_st
webfront writing_status=0: 尚未填寫過, 顯示填寫表單 writing_status=1: 顯示"已完成推薦信上傳" writing_status=2: 顯示"已拒絕推薦信上傳"
Update
2021/07/27
APA34 - 推薦人上傳檔案
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/upload-recommendation-file
Request
- Auth Not Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| entity_id | int | |
| identity_code | string | |
| writing_status | int |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1003 找不到 ap_st
AP1004 缺少上傳文件
AP1015 找不到 ap_st_recomm
AP1016 不可上傳 recommendation file
Logic
TABLE
| table | Description |
|---|---|
| ap_st_recomm | |
| ap_link |
- 要比對entity_id跟identity_code都符合才行
- 要writing_status=0才能編輯
- 如果傳入的值writing_status=1, 要檢查是否有上傳檔案, 沒上傳檔案要回error code
- 檔案路徑= /ap/proj/{ap_project.proj_no}/apply/{ap_st.apply_no}/recommletter/{ap_st_recomm.entity_id}.ext
webfront writing_status=0: 尚未填寫過, 顯示填寫表單 writing_status=1: 顯示"已完成推薦信上傳" writing_status=2: 顯示"已拒絕推薦信上傳"
Update
2022/01/17
APA35 - 取得作品集或影音檔案之網頁連結
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-video-url
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"url",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- select remark from ap_st_doc where doc_no='100' ### Update
2021/08/02
APA36 - 取得獲獎資訊
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/sc-award?_locale={locale}
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"issel_rewarded",
"content", //config_val 依據 locale & issel_rewarded 帶
"proj_name", //ap_project
"name", //以下 ap_st
"apply_no",
"apply_dep",
"degree_no"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1028 不在 result_start_at result_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| sc_ckeditor | config_key 組合是 sc_{語言}_{是否獲獎} |
| ap_st | |
| ap_project |
- content:sc_ckeditor.config_val
config_key 組合:
_locale = zh-tw => ch, _locale = en => en
issel_rewarded = Y => y,issel_rewarded = N/null => n - issel_rewarded:ap_st.issel_rewarded
- name:ap_st,依據 _locale 帶 ch_name (zh-tw) 或 en_name (en)
- proj_name:ap_project,依據 _locale 帶 proj_name (zh-tw) 或 proj_en_name (en)
- 判斷時間是否在 ap_project.result_start_at & result_end_at 之間,不在則回錯誤碼
Update
2021/10/07 sc_config 改成接 sc_ckeditor
APA37 - 取得一次報到身分資格(正取生或備取生)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-status
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status", // ap_st
"apply_no",
"is_register",
"ch_name",
"en_name",
"progress_status", // 完成步驟填寫狀態
"is_register_date",
"willing"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project | ap_st.proj_no = ap_project.proj_no |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間 (開放報名時間),不在則回錯誤碼
[前台]
- Step1: 我確定報到皆可進入該頁面,無意願就讀
- Step2: 需填寫過 Step1,progress_status >= 1
- Step3: 需填寫過 Step2,progress_status >= 2
- Step4: 需填寫過 Step3,progress_status >= 3
Update
2021/09/08
APA38 - 取得二次報到身分資格(正取生)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application2-status
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status",
"apply_no",
"ch_name",
"en_name",
"is_second_register",
"is_second_register_date",
"is_register_date",
"is_register"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1026 找不到 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_project | ap_st.proj_no = ap_project.proj_no |
- 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at 之間 (開放報名時間),不在則回錯誤碼
Update
2021/09/28 response 增加 is_register
APA39 - 送出正取生報到意願
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-approve
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | codemaps.ap_is_register |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=1 正取 is_register=0 尚未報到 |
| ap_project |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- 更新 ap_st.is_register,並且根據 request 做以下處理:
如果 request is_register = 2,需額外更新 ap_st.is_register_date = 今天
如果 request is_register = 6,則在 ap_st_studata 增加一筆資料 (apply_no, proj_no),且加入 ap_st.apply_letter_no - apply_letter_no 編碼規則:每個專案從 E000 開始往上加 (E000, E001...)
Update
2021/09/28
更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
2021/09/30
收到 request is_register = 1 的執行的動作條件改成 is_register = 6
APA40 - 送出正取生報到問卷
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_no | 個人保險 | |
| twcnt_name | 在台灣的聯絡人 姓名 | |
| twcnt_relation | 在台灣的聯絡人 關係 | |
| twcnt_tel | 在台灣的聯絡人 聯絡電話 | |
| twcnt_cellphone | 在台灣的聯絡人 聯絡手機 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=1 正取 is_register=6 有意願報到 |
| ap_project |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- Request 欄位更新在 ap_st
- 若 ap_st.progress_status < 1,則壓 progress_status = 1
Update
2021/09/28
- 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
- Request 移除 acp1
APA41 - 取得正取生報到問卷
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"is_no",
"twcnt_name",
"twcnt_relation",
"twcnt_tel",
"twcnt_cellphone"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1029 不在 enroll 或 enroll_second 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
Update
2021/09/28
- Response 移除 acp1
APA42 - 送出正取生學籍資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-st
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file,not required |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| visa_no | 居留證號碼 | |
| gra_sch_name | 入學前畢業學校 | |
| gra_sch_date | 入學前畢業日期 | |
| comm_address | 通訊地址 | |
| house_address | 戶籍地址 | |
| mobile | 手機 | |
| day_contact | 日間電話 | |
| night_contact | 夜間電話 | |
| 電子信箱 | ||
| emergency_person | 緊急聯絡人姓名 | |
| emergency_relation | 與緊急聯絡人關係 | |
| emergency_mobile | 緊急聯絡人手機 | |
| emergency_contact | 緊急聯絡人日間電話 | |
| emergency_remark | 備註 | |
| comm_address_zip | 通訊地址郵遞區號 | |
| house_address_zip | 戶籍地址郵遞區號 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
AP1025 找不到 ap_st_studata
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=1 正取 is_register=6 有意願報到 |
| ap_st_studata | |
| ap_link |
- profile_image 附件儲存路徑 /ar/profile_image/{ap_st.proj_no}/{ap_st.apply_no}.副檔名
- req 欄位 email 更新 ap_st,其餘更新在 ap_st_studata profile_image 更新 ap_link,ref_column=profile_image,另圖片上傳成功時 ap_st_studata.pic_mk 設成 Y (codemaps.ap_studata_pic_mk)
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- 若 ap_st.progress_status < 2,則壓 progress_status = 2
Update
2021/09/28
- 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
- 更改 profile_image 位置 /ar/profile_image/{ap_st.apply_no}.副檔名
- reqest 加上 comm_address_zip & house_address_zip
2021/10/15
更新 profile_image 附件儲存路徑
APA43 - 取得正取生學籍資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-st
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"profile_image": { // ap_link
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"apply_no",
"ch_name",
"en_name",
"apply_dep",
"degree_no",
"section": { // ap_section
"serialno",
"ch_section",
"en_section",
},
"gender",
"birthday",
"email",
"visa_no", //ap_st_studata
"nationality",
"gra_sch_name", //以下皆ap_st_studata
"gra_sch_date",
"comm_address",
"house_address",
"mobile",
"day_contact",
"night_contact",
"emergency_person",
"emergency_relation",
"emergency_mobile",
"emergency_contact",
"emergency_remark",
"comm_address_zip",
"house_address_zip"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
AP1025 找不到 ap_st_studata
AP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_link | ref_column=profile_image |
| ap_section | ap_st.apply_section = ap_section.serialno, ap_st.apply_dep = ap_section.dep_no |
| ap_st_studata |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
- profile_image:ap_link
- section:ap_section
- visa_no 和 gra_sch_name 以下的欄位:ap_st_studata
Update
2021/09/28
- response 加上 (ap_st_studata) comm_address_zip & house_address_zip
APA44 - 送出申請學校宿舍資料 (宿舍系統)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| dorm_mk | ap_st_studata | |
| post_no | 學生宿舍 郵局局號 PostOfficeNo | |
| post_acc | 學生宿舍 郵局帳號 PostOfficeAccount | |
| dormwill_1 | 學生宿舍 志願一 DormWill1 | |
| dormwill_2 | 學生宿舍 志願二 DormWill2 (not required) | |
| dormwill_3 | 學生宿舍 志願三 DormWill3 (not required) | |
| dormwill_4 | 學生宿舍 志願四 DormWill4 (not required) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=1 正取, is_register=6 有意願報到 |
| ap_st_studata |
若 ap_st.progress_status < 3,則壓 progress_status = 3
dorm_mk 寫入 ap_st_studata,其他依據 dorm_mk 判斷:
dorm_mk = Y,先確認該學生是否有宿舍資料,若無則新增一筆,若有則更新
dorm_mk = N,若無資料則不新增,若有則修改宿舍資料成空值 (前端一律傳所有欄位)
Update
2021/09/28
更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
APA45 - 取得申請學校宿舍資料 (宿舍系統)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"dorm_mk", // ap_st_studata
"post_no", // dormitory
"post_acc",
"dormwill_1",
"dormwill_2",
"dormwill_3",
"dormwill_4",
"dorms":[
{
"code_key": "F1",
"code_val_ch": "女一舍(校本部)",
"code_val_en": "Women's Dorm 1 @ Main Campus"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_st_studata |
dorm_mk 來自 ap_st_studata,其他來自學生宿舍
dorms 撈 取回宿舍列表(名額限制) 這支
Update
2021/09/08
APA46 - 送出備取生登陸遞補意願
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/waitinglist-approve
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| willing |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=2 備取 |
| ap_project |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
- 更新 ap_st.willing,ap_st.willing_date=今天
Update
2021/08/24
APA47 - 送出正取生二階段報到意願
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application2-approve
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_second_register | codemaps.ap_is_register |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | is_second_register=0 尚未報到 is_register = 1 已報到 |
| ap_project |
- 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼
- 更新 ap_st.is_second_register
Update
2021/09/28
更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
APA48 - 送出正取生二階段學籍資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/edit2-st
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| comm_address | 通訊地址 | |
| house_address | 戶籍地址 | |
| mobile | 手機 | |
| day_contact | 日間電話 | |
| night_contact | 夜間電話 | |
| 電子信箱 | ||
| emergency_person | 緊急聯絡人姓名 | |
| emergency_relation | 與緊急聯絡人關係 | |
| emergency_mobile | 緊急聯絡人手機 | |
| emergency_contact | 緊急聯絡人日間電話 | |
| emergency_remark | 備註 | |
| comm_address_zip | 通訊地址郵遞區號 | |
| house_address_zip | 戶籍地址郵遞區號 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1025 找不到 ap_st_studata
AP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | is_register=1 已報到 is_second_register=6 有意願報到 |
| ap_st_studata | ap_st.apply_no = ap_st.apply_no |
| ap_project |
- Request 的欄位 email 更新 ap_st,其他都更新在 ap_st_studata
- 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼
Update
2021/09/28
- Request 加上 comm_address_zip & house_address_zip
- 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
2021/10/05
- 修正 email 更新 ap_st
APA49 - 送出正取生線上報到
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application-register
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | ar_status=1 正取 is_register=6 有意願報到 |
| ap_project |
- 更新 ap_st.is_register_date = 今天, is_register = 1,is_send_survey = 1
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
- 若 ap_st.progress_status < 4,則壓 progress_status = 4
Update
2021/09/28
- 加上更新 ap_st.is_register = 1 和 is_send_survey = 1
- 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
APA50 - 送出正取生二階段線上報到
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/application2-register
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
AP1002 token類型不合法
AP1003 找不到 ap_st
AP1012 找不到 ap_project
AP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| ap_st | is_register=1 已報到 is_second_register=6 有意願報到 |
| ap_project |
- 更新 is_second_register_date = 今天, is_second_register = 1
- 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼
Update
2021/09/28
- 加上更新 is_second_register = 1
- 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
APA51 - 取得正取生問卷學生資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/ap/survey-st-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"gender",
"nationality",
"apply_dep",
"apply_no",
"proj_no",
"is_send_survey"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_st |
- 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間或enroll_second_start_at & enroll_second_end_at之間,不在則回錯誤碼
Update
2021/09/28 Response 加上 is_send_survey 2023/01/05 判斷時間要加上第二階段報到時間
APA52 - 取得缺件文件清單
缺件連結使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/lack-docs
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| upload_key | string | |
| apply_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"apply_status",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"dep_docs": [{
"doc_no",
"apply_status",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"md5_code",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_common_doc | |
| ap_dep_doc | |
| ap_project | |
| ap_st | |
| ap_st_doc | |
| ap_link |
- 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
- 取得ap_st_doc.apply_status=3(待補件)
跟''(ap_st_doc不存在)的文件 - ap_dep_doc需要拿reg_version=ap_project_dep.reg_version的那組資料
- docs跟dep_docs需回傳apply_status欄位,如果ap_st_doc不存在, apply_status可以回''
Update
2021/10/04
APA53 - 上傳缺件文件
缺件連結使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ap/update-lack-docs
Request
- Auth Not Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String | |
| upload_key | string | |
| apply_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"doc_no",
"apply_status",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_st | |
| ap_st_doc | |
| ap_link |
- 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
- 附件儲存路徑 /ap/proj/{ap_project.proj_no}/apply/{ap_st.apply_no}/{ap_st_doc.doc_no}.ext
- 如果doc_no='115'(推薦信), 要寫入ap_st_recomm (name='BDS', email='x', info='x', sending_status=-1, writing_status=1), ap_link存的檔案路徑規則跟ref_table等要依照APA34的規則
- 上傳文件後要更改審查狀態ap_st_doc.apply_status=0(未審查)
20210929調整: 1. 多回傳apply_status
Update
2022/01/26
APA54 - 取得需驗證身分檔案/圖片(補件使用)
此檔案需驗證登入者身分, 使用upload_key跟apply_no做驗證, 用於前台補件頁面
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ap/lack-docs-dl?upload_key={upload_key}&apply_no={apply_no}&id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| upload_key | string | ap_st.upload_key |
| apply_no | string | ap_st.apply_no |
| id | int | ap_link.entity_id |
Response
return binary file
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ap_link | |
| ap_st |
- 需檢查upload_key跟apply_no是否符合, 且圖片確實為該登入者上傳檔案
- 需處理中文檔名&檔名包含空白問題
Update
2021/10/04
CN 陸生線上系統
*CNA01 - 取得專案資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/project-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"proj_name",
"term",
"enroll_sday", //碩博士報到
"enroll_eday", //碩博士報到
"enroll1_sday", //學士報到
"enroll1_eday", //學士報到
"fees_nt",
"ch_intro",
"ch_dorm_info",
"survey_url_key",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_project |
- 取得主要專案資訊 (cn_project.ismain=1)
Update
2021/09/10
CNA02 - 登入
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | 中國公民身份號碼 |
| birthday | String | 生日 (cn_st.bday) (YYYYMMDD 8碼) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
CN1001 登入失敗
CN1002 已放棄就讀
CN1003 未在報名期間內
Logic
TABLE
| table | Description |
|---|---|
| cn_project | |
| cn_st |
- 檢查中國公民身份號碼、生日是否符合。
- 檢查專案是否為主要專案,需判定此登入者是"學士" or "碩博士",有不同的報到時間。
- 檢查是否確定報到,若已放棄報到,則回傳error code。
Update
2021/08/23
CNA03 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上報到,學籍資料維護(學生照片)
Request範例
HTTP Request
GET {{frontapi.url}}/v1/cn/private-dl?token={preview_token}&f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| f | string | cn_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_link | |
| cn_st | |
| cn_st_userdata |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案。
Update
2021/09/02
CNA04 - 取得線上報到進度
應為is_register = '1'
progress_status
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/enroll-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"progress_status": 3, // 完成填寫步驟狀態
"is_register",
"comfirm_mk",
}
}
Response
| Property | Type | Description |
|---|---|---|
| progress_status | smallint | 完成填寫步驟狀態 |
| is_register | String | 報到狀態 0:尚未填寫 1: 我確定報到 2: 我無意願就讀 |
| comfirm_mk | boolean | 是否送出Step5報到資料 |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| cn_project | |
| cn_st | |
| cn_st_studata |
- Step1:我確定報到 or 尚未填寫,皆可進來。我無意願就讀,則無法進入"線上報到"。
- Step2:需填寫過Step1才可進來。(progress_status >= 1)
- Step3:需填寫過Step2才可進來。(progress_status >= 2)
- Step4:需填寫過Step3才可進來。判斷在QU API - QUA03。(progress_status >= 3)
- Step5:需填寫過Step4才可進來。(progress_status >= 4)
- comfirm_mk = true,所有欄位不可以再被編輯,僅能檢視。
Update
2021/8/31
CNA05 - step1取得報到意願
is_register應為報到意願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/enroll-offer
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"is_register", // 報到意願
"dec11", // 無意願報到-選擇台灣其他的學校
"dec11_txt", // 無意願報到-選擇台灣其他的學校原因
"dec12", // 無意願報到-沒有得到獎學金
"dec13", // 無意願報到-個人計畫改變
"dec14", // 無意願報到-其他
"dec14_txt", // 無意願報到-其他原因
"twcnt_name", // 確定報到-台灣聯絡人姓名
"twcnt_relation", // 確定報到-台灣聯絡人關係
"twcnt_tel", // 確定報到-台灣聯絡人電話
"twcnt_cellphone", // 確定報到-台灣聯絡人手機
}
}
Response
| Property | Type | Description |
|---|---|---|
| is_register | String | 報到意願 0:尚未填寫 1: 我確定報到 2: 我無意願就讀 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st |
- 我無意願就讀,則無法進入"線上報到"。
Update
2021/09/03
CNA06 - step1編輯報到意願
is_register應為報到意願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/edit-enroll-offer
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | String | 報到意願c 0:尚未填寫 1: 我確定報到 2: 我無意願就讀 |
| dec11 | String? | 無意願報到-選擇台灣其他的學校 |
| dec11_txt | String? | 無意願報到-選擇台灣其他的學校原因 |
| dec12 | String? | 無意願報到-沒有得到獎學金 |
| dec13 | String? | 無意願報到-個人計畫改變 |
| dec14 | String? | 無意願報到-其他 |
| dec14_txt | String? | 無意願報到-其他原因 |
| twcnt_name | String? | 確定報到-台灣聯絡人姓名 |
| twcnt_relation | String? | 確定報到-台灣聯絡人關係 |
| twcnt_tel | String? | 確定報到-台灣聯絡人電話 |
| twcnt_cellphone | String? | 確定報到-台灣聯絡人手機 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st |
- 存檔時,需確認是否已送出表單(comfirm_mk = true)。若是,則拋錯誤。
- 若原先progress_status < 1,則壓成progress_status = 1。
Update
2021/09/03
*CNA07 - step2取得學籍資料
改判斷progress_status
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/enroll-studata
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"profile_image", // 基本資料-大頭照
"ch_name", // 基本資料-中文姓名
"en_name", // 基本資料-英文姓名
"apply_dep", // 基本資料-系所全名
"apply_section", // 基本資料-組別
"apply_section_name",// 基本資料-組別名稱
"gender", // 基本資料-性別
"bday", // 基本資料-生日
"visa_no", // 基本資料-入台證統一證號
"gra_sch_name", // 入學資料-入學前畢業學校
"gra_sch_date", // 入學資料-入學前畢業日期
"comm_address", // 通訊資料-通訊地址
"house_address", // 通訊資料-戶籍地址
"mobile", // 通訊資料-電話手機
"day_contact", // 通訊資料-電話日間
"night_contact", // 通訊資料-電話夜間
"email", // 通訊資料-電子信箱
"emergency_person", // 緊急聯絡資料-緊急聯絡人
"emergency_relation_select", // 緊急聯絡資料-與緊急聯絡人關係
"emergency_mobile", // 緊急聯絡資料-緊急聯絡人電話手機
"emergency_contact",// 緊急聯絡資料-緊急聯絡人電話日間
"emergency_remark", // 緊急聯絡資料-備註
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st | 僅能從後台上傳更新資料 |
| cn_st_studata | 學生端能更新資料 |
- 我無意願就讀,則無法進入"線上報到"。
Update
2021/09/22
CNA08 - step2編輯學籍資料
應為is_register = '1'
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/edit-enroll-studata
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| visa_no | String? | 基本資料-入台證統一證號 |
| gra_sch_name | 入學資料-入學前畢業學校 | |
| gra_sch_date | 入學資料-入學前畢業日期 | |
| comm_address | 通訊資料-通訊地址 | |
| house_address | 通訊資料-戶籍地址 | |
| mobile | 通訊資料-電話手機 | |
| day_contact | 通訊資料-電話日間 | |
| night_contact | 通訊資料-電話夜間 | |
| 通訊資料-電子信箱 | ||
| emergency_person | 緊急聯絡資料-緊急聯絡人 | |
| emergency_relation_select | 緊急聯絡資料-與緊急聯絡人關係 | |
| emergency_mobile | 緊急聯絡資料-緊急聯絡人電話手機 | |
| emergency_contact | 緊急聯絡資料-緊急聯絡人電話日間 | |
| emergency_remark | 緊急聯絡資料-備註 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st | 僅能從後台上傳更新資料 |
| cn_st_studata | 學生端能更新資料 |
- 存檔時,需確認是否已送出表單(comfirm_mk = true)。若是,則拋錯誤。
- 存檔時,需確認is_register = '1',才可以讀寫Step2。
- 若原先progress_status < 2,則壓成progress_status = 2。
- 需壓cn_st_studata.pic_mk = true。
Update
2021/09/03
CNA09 - step3取得宿舍申請
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/enroll-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"dorm_mk", // 宿舍註記,是否有意願住宿
"ch_name", // 姓名
"en_name", // 姓名
"day_contact", // 日間市內聯絡電話
"night_contact", // 夜間市內聯絡電話
"mobile", // 行動電話
"emergency_person", // 緊急聯絡人
"emergency_relation", // 與緊急聯絡人關係
"emergency_contact", // 緊急聯絡人電話
"emergency_mobile", // 緊急聯絡人手機
"post_no", // 郵局局號
"post_acc", // 郵局帳號
"dormwill_1", // 志願一
"dormwill_2", // 志願二
"dormwill_3", // 志願三
"dormwill_4", // 志願四
"freshman_type", // 報到類別 (宿舍修改用)
"dorms":[ // 宿舍清單
{
"code_key": "F1",
"code_val_ch": "女一舍(校本部)",
"code_val_en": "Women's Dorm 1 @ Main Campus"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st | |
| cn_st_studata |
- 宿舍資訊需介接宿舍系統。
- 我無意願就讀,則無法進入"線上報到"。
- 前台需判斷progress_status >= 2,才可以讀寫Step3。
Update
2021/09/08
CNA10 - step3編輯宿舍申請
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/edit-enroll-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| dorm_mk | 宿舍註記 Y: 要宿舍 N: 放棄宿舍 null: 尚未填寫 |
|
| emergency_person | 緊急聯絡人 | |
| emergency_relation | 與緊急聯絡人關係 | |
| emergency_contact | 緊急聯絡人電話 | |
| emergency_mobile | 緊急聯絡人手機 | |
| post_no | 郵局局號 | |
| post_acc | 郵局帳號 | |
| dormwill_1 | 志願一 | |
| dormwill_2 | 志願二 | |
| dormwill_3 | 志願三 | |
| dormwill_4 | 志願四 | |
| freshman_type | 報到類別 (宿舍修改用) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st |
- 宿舍資訊需介接宿舍系統。
- 存檔時,需確認是否已送出表單(comfirm_mk = true)。若有,則拋錯誤。
- api 需判斷cn_st_studata有無值,才可以讀寫Step3。
- 若原先progress_status < 3,則壓成progress_status = 3。
Update
2021/09/03
CNA11 - step5列印學籍記載表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/print-studata
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
return PDF file
Logic
TABLE
| table | Description |
|---|---|
| cn_st_studata |
- 產出線上申請單格式,每次呼叫api時及時產。
Update
2021/08/25
CNA12 - step5確定送出資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/submit-enroll
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st | |
| cn_st_studata |
- 存檔時,需確認是否已送出表單(comfirm_mk = true)。若有,則拋錯誤。
- 需壓cn_st_studata.comfirm_mk, cn_st.is_register_date。
- 當成功送出,前台disabled所有欄位,並隱藏所有按鈕(除了 Step5)。
Update
2021/09/03
CNA13 - step4問卷填寫送出
問卷是QU系統,因此需多壓progress_status
Request範例
HTTP Request
POST {{frontapi.url}}/v1/cn/submit-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| cn_st |
- 若原先progress_status < 4,則壓成progress_status = 4。
Update
2021/09/03
CR 華語輔導系統
CRA01 - 取得註冊資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/register-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| user_id | Yes | 學號 |
| pswd | Yes | 密碼 |
| invitation_code | No | 義工邀請碼(範例:cr00000) |
| permission | Yes | 權限代碼(1:學生 2:義工) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"user_id": "40471234",
"chi_name": "王大明",
"eng_name": "Wang, Da-min",
"dep_name": "2303",
"form_s": "1",
"email": "xxx@xxx.xxx",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
CR1001 已註冊
CR1003 義工邀請碼錯誤
Logic
Update
2021/06/21
CRA02 - 登入並更新學籍資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/login
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| user_id | Yes | 學號 |
| pswd | Yes | 密碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX3R5cGUiOiJjciIsInRrX3R5cGUiOiJhY2Nlc3MiLCJleHAiOjE2MzA1NjA3MTAsImlhdCI6MTYzMDQ4ODcxMCwibV9pZCI6IjhlNGJmYThhLTc3MjEtNDBlYi04MWU4LTY5ODk1NTM3MTg0OCIsInVzZXJuYW1lIjoiNDA2MzAwNzNBIn0.V8O_7IHxsCsvRXWKzo6nGlD5Eo1A0PbQFEeMzIOScTU" ,
"auth_type": "cr" ,
"pkno": "1" ,
"user_id": "40471234",
"chi_name": "王大明",
"eng_name": "Wang, Da-min",
"dep_no": "2303",
"form_s": "1",
"email": "xxx@xxx.xxx",
"expertise": "專長",
"experience": "經驗",
"customary_language": "母語(慣用語言)",
"permission": "1",
"is_active": "1",
"is_delete": "0"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
CR1002 未註冊
Logic
Update
2021/06/21
CRA03 - 註冊
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/register
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| pkno | Yes | 編號 |
| user_id | Yes | 學號 |
| Yes | 信箱 | |
| expertise | No | 專長 |
| experience | No | 經驗 |
| customary_language | No | 母語 |
| permission | Yes | 權限 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"pkno": "1" ,
"user_id": "40471234",
"chi_name": "王大明",
"eng_name": "Wang, Da-min",
"dep_no": "2303",
"form_s": "1",
"email": "xxx@xxx.xxx",
"expertise": "專長",
"experience": "經驗",
"customary_language": "母語(慣用語言)",
"permission": "1",
"is_active": "1",
"is_delete": "0"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
CR1001 輸入學號或密碼錯誤
CR1002 已註冊
Logic
Update
2021/06/21
CRA04 - 取得個人資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/personal-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| pkno | yes | 編號 |
| user_id | yes | 學號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"cr_user": {
"pkno": "1" ,
"user_id": "40471234",
"chi_name": "王大明",
"eng_name": "Wang, Da-min",
"dep_no": "2303",
"form_s": "1",
"email": "xxx@xxx.xxx",
"expertise": "專長",
"experience": "經驗",
"customary_language": "母語(慣用語言)",
"permission": "1",
"is_active": "1",
"is_delete": "0"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/21
CRA05 - 修改個人資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/update-personal-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| pkno | yes | 編號 |
| user_id | yes | 學號 |
| yes | ||
| expertise | 專長 | |
| experience | 經驗 | |
| customary_language | 母語(慣用語言) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"cr_user": {
"pkno": "1" ,
"user_id": "40471234",
"chi_name": "王大明",
"eng_name": "Wang, Da-min",
"dep_no": "2303",
"form_s": "1",
"email": "xxx@xxx.xxx",
"expertise": "專長",
"experience": "經驗",
"customary_language": "母語(慣用語言)",
"permission": "1",
"is_active": "1",
"is_delete": "0"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/21
CRA06 - 取得預約課程時間表
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/course
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| teacher_user_id | 老師學號 | |
| student_user_id | 學生學號 | |
| start_date | yes | 時間起 |
| end_date | yes | 時間迄 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"course": [{
"teacher_pkno": "1" ,
"teacher_user_id": "40471234",
"teacher_chi_name": "王大明",
"teacher_eng_name": "Wang, Da-min",
"teacher_email": "xxx@xxx.xxx",
"student_pkno": "1" ,
"student_user_id": "40471234",
"student_chi_name": "王大明",
"student_eng_name": "Wang, Da-min",
"student_email": "xxx@xxx.xxx",
"section_date": "2021/6/21",
"section_no": "1",
"filled_time": "2021/6/21 08:00",
"counseling_status": "1",
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/21
CRA07 - 老師預約課程
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/book-course-teacher
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| cr_user_pkno | yes | 編號 |
| cr_user_user_id | yes | 學號 |
| section_date | yes | 選課時間 |
| section_no | yes | 選課時段 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/24
CRA08 - 老師取消課程
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/cancel-course-teacher
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| cr_user_pkno | yes | 編號 |
| cr_user_user_id | yes | 學號 |
| section_date | yes | 選課時間 |
| section_no | yes | 選課時段 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/24
CRA09 - 學生預約課程
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/book-course-student
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| cr_user_pkno | yes | 編號 |
| cr_user_user_id | yes | 學號 |
| teacher_user_pkno | yes | 老師編號 |
| teacher_user_user_id | yes | 老師學號 |
| section_date | yes | 選課時間 |
| section_no | yes | 選課時段 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/24
CRA10 - 學生取消課程
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/cancel-course-student
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| cr_user_pkno | yes | 編號 |
| cr_user_user_id | yes | 學號 |
| teacher_user_pkno | yes | 老師編號 |
| teacher_user_user_id | yes | 老師學號 |
| section_date | yes | 選課時間 |
| section_no | yes | 選課時段 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/24
CRA11 - 取得不可預約時段
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/cr/block-section
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| start_date | yes | 時間起 |
| end_date | yes | 時間迄 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"block_section": [{
"section_date": "20210101" ,
"section_no": "1",
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/24
EX 交換學校資訊維護系統
EXA01 - 取得S1表單資料
Request範例
HTTP Request
GET /api/v1/ex/getExForm1
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"basic": {
"school_name_ch": "日本立命館亞洲太平洋大學",
"school_name_en": "Ritsumeikan Asia Pacific University",
"school_address": "Ritsumeikan Asia Pacific University Academic O ",
"postal_code": "874-8577",
"school_phone": "+81-977-78-1111",
"school_fax": "81-977-78-1102",
"school_homepage_url": "http://www.apu.ac.jp/meow"
},
"contacts": {
"inbound": {
"position": "Outbound Student Exchange Coordinator",
"gender_title_code": "2",
"first_name": "Yumiko",
"last_name": "Ono",
"contact_phone": "81-977-78-1101",
"contact_fax": "81-977-78-1102",
"contact_email": "outbound@apu.ac.jp"
},
"outbound": {
"position": "Inbound Student Exchange Coordinator",
"gender_title_code": "2",
"first_name": "Melody",
"last_name": "Matsuura",
"contact_phone": "+81-977-78-1101",
"contact_fax": "+81-977-78-1102",
"contact_email": "inbound@apu.ac.jp"
},
"other": {
"position": "Cat Student Exchange Coordinator",
"gender_title_code": "3",
"first_name": "Black",
"last_name": "Cat",
"contact_phone": "+81-977-78-1101",
"contact_fax": "+81-977-78-1102",
"contact_email": "meow@apu.ac.jp"
}
},
"genderOptions": [
{
"gender_title_code": "1",
"gender_title_name": "Mr."
},
{
"gender_title_code": "2",
"gender_title_name": "Ms."
},
{
"gender_title_code": "3",
"gender_title_name": "Mrs."
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA02 - 更新S1表單資料
Request範例
HTTP Request
POST /api/v1/ex/updateExForm1
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Response from EX OEA01 (except "genderOptions") |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA03 - 取得S2表單資料
Request範例
HTTP Request
GET /api/v1/ex/getExForm2
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "entrance": {
"students_per_semester": 4,
"students_per_year": 4,
"entrance_note": "喵喵",
"allow_autumn": true,
"allow_spring": true,
"allow_full_year": true,
"allow_bachelor": true,
"allow_master": true,
"allow_phd": true
},
"apply_criteria_common": {
"apply_deadline_autumn": "2022/11/20",
"apply_deadline_spring": "2023/03/01",
"apply_documents": [
{
"document_code": "001",
"document_name_ch": "申請書",
"document_name_en": "Application form",
"document_note": null,
"copy_number": 1
}, …
{
"document_code": "999",
"document_name_ch": "其他",
"document_name_en": "Others",
"document_note": "Please refer to our meow",
"copy_number": null
}
]
},
"apply_website": "http://www.waseda.jp/cie/select/step01.html",
"programs": [
{
"program_name": "Graduate schools",
"gpa": "4.30",
"program_note": "Please refer to our HP1",
"toeic": {
"total": "100.00",
"listening": "100.00",
"reading": "100.00"
},
"toefl_itp": {
"total": "110.00",
"listening": "110.00",
"grammar": "110.00",
"reading": "110.00"
},
"toefl_ibt": {
"total": "120.00",
"listening": "30.00",
"reading": "30.00",
"speaking": "30.00",
"writing": null
},
"ielts": {
"total": "130.00",
"listening": "130.00",
"speaking": "130.00",
"reading": "130.00",
"writing": "130.00"
},
"japanese": 1,
"korean": null,
"french_delf": "A1",
"french_tcf": "A2",
"german": "B1",
"spanish": "B2",
"other_language_certificate": "Meow Planet Language",
"russian": "3",
"portuguese": "1",
"italian": "2",
"jtest": 850
}, …
],
"program_template": {
"program_name": null,
"gpa": null,
"program_note": null,
"toeic": {
"total": null,
"listening": null,
"reading": null
},
"toefl_itp": {
"total": null,
"listening": null,
"grammar": null,
"reading": null
},
"toefl_ibt": {
"total": null,
"listening": null,
"reading": null,
"speaking": null,
"writing": null
},
"ielts": {
"total": null,
"listening": null,
"speaking": null,
"reading": null,
"writing": null
},
"japanese": null,
"korean": null,
"french_delf": null,
"french_tcf": null,
"german": null,
"spanish": null,
"other_language_certificate": null,
"russian": null,
"portuguese": null,
"italian": null,
"jtest": null
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA04 - 更新S2表單資料
Request範例
HTTP Request
POST /api/v1/ex/updateExForm2
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Response from EX OEA03 (except "genderOptions") |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA05 - 取得S3表單資料
Request範例
HTTP Request
GET /api/v1/ex/getExForm3
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"calendar": {
"autumn_start": "2014/09/21",
"autumn_end": "2015/03/31",
"spring_start": "2015/04/01",
"spring_end": "2015/03/31"
},
"course_extra": {
"course_limit": "Exchange students will study under the \"2011 Curriculum.\" Exchange students may not register 3rd year and 4th year...",
"course_site": "http://www.apu.ac.jp/academic/uploads/fckeditor/public/handbook/2013Handbook/2_Curriculum_E.pdf",
"has_language_training": true,
"language_training_notes": "Japanese language course (4 times a week)",
"ex_ap_charge": true
},
"scholarship": {
"has_scholarship": true,
"scholarship_notes": "JASSO scholarship"
},
"dormitory": {
"dorm_type": "Y",
"dorm_type_notes": "Total fee to be paid prior to arrival",
"room_single": false,
"room_single_fee": "400",
"room_double": true,
"room_double_fee": "400",
"room_dorm": true,
"room_dorm_fee": "400",
"room_other": true,
"room_other_fee": null,
"room_other_notes": "Moving-in fee 32,000 JPY",
"apply_option": "02",
"apply_option_other_text": null,
"apply_option_notes": null,
"info_url": "http://www.apu.ac.jp/home/life/index.php?connglish",
"info_url_notes": null,
"must_student_insurance": true,
"student_insurance_notes": "National Health Insurance ane Renter",
"must_vaccinated": true,
"vaccinated_notes": null,
"has_airport_pickup": true,
"airport_pickup_notes": "Students must pay for bus ticket",
"living_expense_est": "1000",
"living_expense_notes": null
},
"extra_info": {
"notes": null
},
"radio": {
"apply_radios": [
{
"value": "01",
"ch_name": null,
"en_name": "No application needed"
},
{
"value": "02",
"ch_name": null,
"en_name": "Housi program application"
},
{
"value": "03",
"ch_name": null,
"en_name": "Separate applicatioousing needed"
},
{
"value": "04",
"ch_name": null,
"en_name": "Applicatioeceiving admission"
},
{
"value": "99",
"ch_name": null,
"en_name": "Othe"
}
],
"dorm_type_radios": [
{
"value": "Y",
"ch_name": "是,校內住宿",
"en_name": "Yes, dormitory inside campus"
},
{
"value": "K",
"ch_name": "是,校外住宿",
"en_name": "Yes, dormitory outside campus"
},
{
"value": "N",
"ch_name": "否",
"en_name": "No"
}
]
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA06 - 更新S3表單資料
Request範例
HTTP Request
POST /api/v1/ex/updateExForm3
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Response from EX OEA03 (except "genderOptions") |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
EXA07 - 檢查學校允許登入時程
Request範例
HTTP Request
GET /api/v1/ex/checkAllowLogin
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/08/04
IE 來校交換生系統
IEA01 - 取得專案資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/project-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"proj_name",
"proj_name_en",
"term",
"apply_season",
"proj_year",
"proj_season",
"paper_title",
"paper_footer",
"apply_start_at",
"apply_end_at",
"anno_start_at",
"anno_end_at",
"result_start_at",
"result_end_at",
"enroll_start_at",
"enroll_end_at",
"review_start_at",
"review_end_at",
"review_second_start_at",
"review_second_end_at",
"exchange_term_start_at",
"exchange_term_end_at",
"exchange_year_start_at",
"exchange_year_end_at",
"docs": [{
"doc_no",
"title"
}],
"remark"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ie_project | |
| ie_common_doc | |
| ss_codemap |
- 取得主要專案資訊 (ie_project.ismain=1)
- proj_name_en = "{proj_year} {proj_season} Incoming Exchange Student Program" (proj_season系統是存小寫, 請將第一個字母變大寫)
2023/01/11 多回傳review_second_start_at, review_second_end_at 2023/06/06 多回傳proj_year, proj_season, proj_name_en
Update
2023/06/06
IEA02 - 取得下載檔案列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/download-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"files": [{
"title",
"original_filename",
"link_uri",
"link_data",
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ie_project | ie_project.ismain=1 |
| ie_brochure |
Update
2021/05/07
IEA03 - 取得公告列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/news-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sys_type | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_list": [{
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ie_news | |
| ie_link |
- 需判斷現在時間介於exposure_start_at, exposure_end_at之間
Update
2021/05/07
IEA04 - 取得單筆公告
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/single-news
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": {
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ie_news | |
| ie_link |
Update
2021/05/07
IEA05 - 取得線上申請表: 基本資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"sch_no",
"profile_image": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"educations": [{
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
}],
"is_ch_native_speaker",
"is_native_chinese",
"learn_chinese_year",
"learn_chinese_month",
"chinese_certificate",
"chinese_certificate_name",
"chinese_certificate_grades",
"chinese_certificate_at",
"chinese_certificate_inst",
"ch_listening",
"ch_speaking",
"ch_reading",
"ch_writing,",
"is_eng_native_speaker",
"is_native_english",
"learn_eng_year",
"learn_eng_month",
"eng_qualification",
"eng_qualification_name",
"eng_qualification_grades",
"eng_qualification_at",
"eng_certificate_inst",
"eng_listening",
"eng_speaking",
"eng_reading",
"eng_writing",
"contact_name_1",
"relationship_1",
"contact_tel_1",
"contact_cellphone_1",
"contact_email_1",
"contact_addr_1",
"twpermit": {
"birthplace_country",
"birthplace_province",
"living_area",
"nataddr",
"third_region",
"third_region_opt",
"degree_no",
"job",
"experience",
"unit",
"employer1",
"employer2",
"idno",
"issued_at",
"expire_date",
"visa_country",
"visa_type",
"visa_start_at",
"visa_end_at",
"visa_stay_duration",
"declared_item",
"relatives": [{
"relationship",
"name",
"birthday",
"is_survived",
"job",
"address",
"tel",
}]
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_edu | |
| ie_st_twpermit | |
| ie_st_twpermit_relatives | |
| ie_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
2023/01/13更新: 多回傳is_ch_native_speaker, is_eng_native_speaker, is_native_english, learn_eng_year, learn_eng_month
Update
2023/01/13
IEA06 - 編輯線上申請表: 基本資料
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/edit-application
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| ch_name | ||
| en_name | ||
| gender | ||
| birthday | ||
| nationality | ||
| passport_no | ||
| id_number | ||
| marital_status | ||
| permanent_country | ||
| tel_2 | ||
| cellphone_1 | ||
| email_1 | ||
| address_1 | ||
| address_2 | ||
| educations | [<IE_ST_EDU>] | |
| is_ch_native_speaker | ||
| is_native_chinese | ||
| learn_chinese_year | ||
| learn_chinese_month | ||
| chinese_certificate | ||
| chinese_certificate_name | ||
| chinese_certificate_grades | ||
| chinese_certificate_at | YYYY-MM-DD HH:MM:SS | |
| chinese_certificate_inst | ||
| ch_listening | ||
| ch_speaking | ||
| ch_reading | ||
| ch_writing | ||
| is_eng_native_speaker | ||
| is_native_english | ||
| learn_eng_year | ||
| learn_eng_month | ||
| eng_qualification | ||
| eng_qualification_name | ||
| eng_qualification_grades | ||
| eng_qualification_at | YYYY-MM-DD HH:MM:SS | |
| eng_certificate_inst | ||
| eng_listening | ||
| eng_speaking | ||
| eng_reading | ||
| eng_writing | ||
| contact_name_1 | ||
| relationship_1 | ||
| contact_tel_1 | ||
| contact_cellphone_1 | ||
| contact_email_1 | ||
| contact_addr_1 | ||
| twpermit | <IE_ST_TWPERMIT> |
<IE_ST_EDU>
| Parameter | Type | Description |
|---|---|---|
| school_name | ||
| major | ||
| degree_code | ||
| period_start_at | YYYY-MM-DD HH:MM:SS | |
| period_end_at | YYYY-MM-DD HH:MM:SS | |
| is_current |
<IE_ST_TWPERMIT>
| Parameter | Type | Description |
|---|---|---|
| birthplace_country | ||
| birthplace_province | ||
| nataddr | ||
| living_area | ||
| third_region | ||
| third_region_opt | ||
| degree_no | ||
| job | ||
| experience | ||
| unit | ||
| employer1 | ||
| employer2 | ||
| idno | ||
| issued_at | YYYY-MM-DD HH:MM:SS | |
| expire_date | ||
| visa_country | ||
| visa_type | ||
| visa_start_at | YYYY-MM-DD HH:MM:SS | |
| visa_end_at | YYYY-MM-DD HH:MM:SS | |
| visa_stay_duration | ||
| declared_item | ||
| relatives | <IE_ST_TWPERMIT_RELATIVES> |
<IE_ST_TWPERMIT_RELATIVES>
| Parameter | Type | Description |
|---|---|---|
| relationship | ||
| name | ||
| birthday | ||
| is_survived | ||
| job | ||
| address | ||
| tel | ||
| sort_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_edu | |
| ie_st_twpermit | |
| ie_st_twpermit_relatives | |
| ie_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新ie_st: apply_filled_at =now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /ie/proj/{ie_project.proj_no}/apply/{ie_st.apply_no}/{ie_st.apply_no}_profile_image.副檔名; ref_column=profile_image
2023/01/13更新: request增加參數is_ch_native_speaker, is_eng_native_speaker,is_native_english, learn_eng_year, learn_eng_month, 並更新ie_st欄位值
Update
2023/01/13
IEA07 - 取得線上申請附件清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/application-docs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"apply_status",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_doc | |
| ie_link | |
| ie_project | |
| ie_common_doc |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 先取得ie_common_doc(ie_project.ismain=1)對應的doc_no, 再關聯ie_st_doc取得學生有上傳的附件
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
- 新增apply_status, 取ie_st_doc.apply_status (如果ie_st_doc不存在, apply_status='9'尚未收件)
webfront
apply_status=9 => "尚未上傳" apply_status=3 => "待補件" apply_status=其他狀態 => "已上傳"
Update
2021/08/23
IEA08 - 上傳線上申請附件
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/upload-application-docs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_doc | |
| ie_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 附件儲存路徑 /ie/proj/{ie_project.proj_no}/apply/{ie_st.apply_no}/{ie_st_doc.doc_no}.副檔名
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
Update
2021/06/14
IEA09 - 取得申請結果(榜單公告)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/application-result
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status",
"enroll_dep",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1006 錄取名單尚未公布
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷時間是否位於ie_project.result_start_at & result_end_at之間, 否則回錯誤碼
Update
2021/06/01
IEA10 - 取得線上報到狀態
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/enroll-status
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"education": {
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
},
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_cellphone_2",
"contact_email_2",
"contact_addr_2",
"ar_status",
"enroll_dep",
"is_register",
"dorm_status",
"dorm_location",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1007 尚未開放線上報到
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_edu |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- ie_st_edu只撈is_current=1的資料
- 判斷時間是否位於ie_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
webfront - 判斷若dorm_status=1(床位正取), 才會出現"校內住宿"選項
Update
2021/06/01
IEA11 - 進行線上報到
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/enroll
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_cellphone_2 | ||
| contact_email_2 | ||
| contact_addr_2 | ||
| dorm_location |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1007 尚未開放線上報到
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 需更新register_at=now()
- 判斷時間是否位於ie_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
Update
2021/06/01
IEA12 - 取得學生資料維護(在校生)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/enroll-st-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"address_tw",
"cellphone_tw",
"email_1",
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_addr_2",
"contact_email_2",
"visa_expire_at",
"visa_type",
"visa_no",
"insurance_type",
"insurance_expire_at",
"is_national_health_insurance",
"insurance_file": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
Update
2021/05/28
IEA13 - 編輯學生資料維護
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/edit-enroll-st-info
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| insurance_file | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| address_tw | ||
| cellphone_tw | ||
| email_1 | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_addr_2 | ||
| contact_email_2 | ||
| visa_expire_at | YYYY-MM-DD HH:MM:SS | |
| visa_type | ||
| visa_no | ||
| insurance_type | ||
| insurance_expire_at | YYYY-MM-DD HH:MM:SS | |
| is_national_health_insurance |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_link |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- insurance_file存ie_link, ref_column=insurance_file, 上傳檔案路徑: /ie/st/{ie_st.st_no}/insurance_file.副檔名
- 更新personal_info_update_status=1, personal_info_update_at=now(), insurance_update_status=1, insurance_update_at=now()
Update
2021/05/28
IEA14 - 取得在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/exchange-experience
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchange_exp": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"exchange_images": [{
"image": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_link |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
Update
2021/05/28
IEA15 - 上傳在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/send-exchange-experience
Request
- Auth Required
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| exchange_exp | MultipartFile | 0 or 1 file |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_link |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- exchange_exp存ie_link, ref_column: exchange_exp, 上傳檔案路徑: /ie/st/{ie_st.st_no}/exchange_exp.副檔名
Update
2021/05/28
IEA16 - 送出離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/send-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| leave_sch_at | string | YYYY-MM-DD HH:MM:SS |
| leave_tw_at | string | YYYY-MM-DD HH:MM:SS |
| leave_apply_at | string | YYYY-MM-DD HH:MM:SS |
| leave_reason | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- 更新leave_update_status=1, leave_update_at=now()
Update
2021/05/20
IEA17 - 列印離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/print-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- 讀取ie_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
- 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr
Update
2021/05/20
IEA18 - 登入(新生申請)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | |
| password | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1001 登入失敗
IE1009 連續登入失敗
IE1010 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_project |
- 檢查帳號密碼是否符合,且專案是否為主要專案 select from ie_st left join ie_project where apply_no={apply_no} and password={password} and ie_project.ismain=1
- 檢查登入錯誤3次就鎖定600秒無法登入(錯誤次數跟鎖定秒數從ss_config來, oia_login_error_times & oia_login_lock_time)
- 登入失敗時更新ie_st: error_times+1 & login_time=now()
- 登入成功時更新ie_st: login_time=now() & login_success_time=now() & error_times=0
Update
2021/07/08
IEA19 - 取得IE參數設定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/config
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"config": {
"ie_dorm_name",
"ie_dorm_link",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ie_config | is_enable=1 |
Update
2021/05/19
IEA20 - 取得離校申請資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"leave_sch_at",
"leave_tw_at",
"leave_apply_at",
"leave_reason",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
Update
2021/05/20
IEA21 - 取得圖片/檔案內容
此為公開檔案, 用於前台最新消息與下載專區
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ie/dl?f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| f | string | ie_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ie_link |
- 需檢查ie_link: link_uri={link_uri} 且ref_table=(ie_news or ie_brochure)
Update
2021/05/25
IEA22 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上申請,學生資料維護(保險資料)與來校心得(交換心得, 交換照片)
Request範例
HTTP Request
GET {{frontapi.url}}/v1/ie/private-dl?token={preview_token}&f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| f | string | ie_link.link_uri |
Response
return binary file
Response Error Codes
M2003 token過期
S9920 token解析失敗時
Logic
TABLE
| table | Description |
|---|---|
| ie_link | |
| ie_st |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案
Update
2021/05/25
IEA23 - 上傳在校心得照片
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/send-exchange-experience-image
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| exchange_image | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| entity_id? | int |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_link |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- exchange_images存ie_link, ref_column: exchange_image, 上傳檔案路徑: /ie/st/{ie_st.st_no}/exchange_images/{file hash}.副檔名
- 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的
Update
2021/05/28
IEA28 - 列印線上申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/print-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| ie_st | |
| ie_st_edu | |
| ie_st_twpermit | |
| ie_st_twpermit_relatives | |
| ie_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 產出線上申請單格式
- 更新ie_st.apply_printed_at = now()
Update
2021/06/14
IEA29 - 取得線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchang_period",
"ps_cnt_scope",
"degree_no",
"apply_dep_1",
"apply_dep_2",
"is_study_mandarin",
"nationality",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為(ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
Update
2021/06/14
IEA30 - 編輯線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/edit-application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| exchang_period | ||
| degree_no | ||
| apply_dep_1 | ||
| apply_dep_2 | ||
| is_study_mandarin |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
IE1002 token類型不合法
IE1003 找不到ie_st 主檔
IE1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新ie_st: apply_dep_updated_at=now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (ie_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /ie/proj/{ie_project.proj_no}/apply/{ie_st.apply_no}/{ie_st.apply_no}_profile_image.副檔名; ref_column=profile_image
Update
2021/06/14
IEA31 - 送出線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/submit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新ie_st: apply_status = '0' & apply_at=now()
Update
2021/06/14
IEA32 - 取得線上申請進度
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status",
"apply_filled_at",
"apply_dep_updated_at",
"apply_printed_at",
"apply_at",
"dep_review_status_1",
"dep_review_status_2",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 如果不在ie_project.apply_start_at & apply_end_at時間內, 或是 ie_st.apply_status!=3, 回error code (此功能尚未開放)
webfront
- apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
- 出現error code顯示"此功能尚未開放"
- apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
- 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出
2023/01/11 多回傳dep_review_status_1, dep_review_status_2
Update
2023/01/11
IEA33 - 取得學生資料(離校問卷使用)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/survey-st-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"st_no",
"gender",
"enroll_dep", // dep_no
"degree_no",
"nationality",
"is_send_survey",
"proj_no", // prog_no
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
Update
2021/10/13
IEA34 - 送出離校問卷
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ie/send-leave-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| ie_st |
- 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
- 更新is_send_survey=1
Update
2021/10/13
NP 非姊妹校訪問生系統
NPA01 - 取得專案資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/project-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"proj_name",
"proj_name_en",
"term",
"apply_season",
"proj_year",
"proj_season",
"paper_title",
"paper_footer",
"apply_start_at",
"apply_end_at",
"anno_start_at",
"anno_end_at",
"result_start_at",
"result_end_at",
"enroll_start_at",
"enroll_end_at",
"review_start_at",
"review_end_at",
"review_second_start_at",
"review_second_end_at",
"exchange_term_start_at",
"exchange_term_end_at",
"exchange_year_start_at",
"exchange_year_end_at",
"docs": [{
"doc_no",
"title"
}],
"remark"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_project | |
| np_common_doc | |
| ss_codemap |
- 取得主要專案資訊 (np_project.ismain=1)
- proj_name_en = "{proj_year} {proj_season} Visiting Student Program" (proj_season系統是存小寫, 請將第一個字母變大寫)
2023/01/11 多回傳review_second_start_at, review_second_end_at 2023/06/06 多回傳proj_year, proj_season, proj_name_en
Update
2023/06/06
NPA02 - 取得下載檔案列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/download-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"files": [{
"title",
"original_filename",
"link_uri",
"link_data",
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_project | np_project.ismain=1 |
| np_brochure |
Update
2021/06/01
NPA03 - 取得公告列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/news-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sys_type | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_list": [{
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_news | |
| np_link |
- 需判斷現在時間介於exposure_start_at, exposure_end_at之間
Update
2021/06/01
NPA04 - 取得單筆公告
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/single-news
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": {
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_news | |
| np_link |
Update
2021/06/01
NPA05 - 取得線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"sch_no",
"other_sch",
"profile_image": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"educations": [{
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
}],
"is_ch_native_speaker",
"is_native_chinese",
"learn_chinese_year",
"learn_chinese_month",
"chinese_certificate",
"chinese_certificate_name",
"chinese_certificate_grades",
"chinese_certificate_at",
"chinese_certificate_inst",
"ch_listening",
"ch_speaking",
"ch_reading",
"ch_writing,",
"is_eng_native_speaker",
"is_native_english",
"learn_eng_year",
"learn_eng_month",
"eng_qualification",
"eng_qualification_name",
"eng_qualification_grades",
"eng_qualification_at",
"eng_certificate_inst",
"eng_listening",
"eng_speaking",
"eng_reading",
"eng_writing",
"contact_name_1",
"relationship_1",
"contact_tel_1",
"contact_cellphone_1",
"contact_email_1",
"contact_addr_1",
"twpermit": {
"birthplace_country",
"birthplace_province",
"living_area",
"nataddr",
"third_region",
"third_region_opt",
"degree_no",
"job",
"experience",
"unit",
"employer1",
"employer2",
"idno",
"issued_at",
"expire_date",
"visa_country",
"visa_type",
"visa_start_at",
"visa_end_at",
"visa_stay_duration",
"declared_item",
"relatives": [{
"relationship",
"name",
"birthday",
"is_survived",
"job",
"address",
"tel",
}]
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_edu | |
| np_st_twpermit | |
| np_st_twpermit_relatives | |
| np_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 (np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
2023/01/13更新: 多回傳is_ch_native_speaker, is_eng_native_speaker, is_native_english, learn_eng_year, learn_eng_month
Update
2023/01/13
NPA06 - 編輯線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/edit-application
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| ch_name | ||
| en_name | ||
| gender | ||
| birthday | ||
| nationality | ||
| passport_no | ||
| id_number | ||
| marital_status | ||
| permanent_country | ||
| tel_2 | ||
| cellphone_1 | ||
| email_1 | ||
| address_1 | ||
| address_2 | ||
| educations | [<NP_ST_EDU>] | |
| is_ch_native_speaker | ||
| is_native_chinese | ||
| learn_chinese_year | ||
| learn_chinese_month | ||
| chinese_certificate | ||
| chinese_certificate_name | ||
| chinese_certificate_grades | ||
| chinese_certificate_at | YYYY-MM-DD HH:MM:SS | |
| chinese_certificate_inst | ||
| ch_listening | ||
| ch_speaking | ||
| ch_reading | ||
| ch_writing | ||
| is_eng_native_speaker | ||
| is_native_english | ||
| learn_eng_year | ||
| learn_eng_month | ||
| eng_qualification | ||
| eng_qualification_name | ||
| eng_qualification_grades | ||
| eng_qualification_at | YYYY-MM-DD HH:MM:SS | |
| eng_certificate_inst | ||
| eng_listening | ||
| eng_speaking | ||
| eng_reading | ||
| eng_writing | ||
| contact_name_1 | ||
| relationship_1 | ||
| contact_tel_1 | ||
| contact_cellphone_1 | ||
| contact_email_1 | ||
| contact_addr_1 | ||
| twpermit | <NP_ST_TWPERMIT> |
<NP_ST_EDU>
| Parameter | Type | Description |
|---|---|---|
| school_name | ||
| major | ||
| degree_code | ||
| period_start_at | YYYY-MM-DD HH:MM:SS | |
| period_end_at | YYYY-MM-DD HH:MM:SS | |
| is_current |
<NP_ST_TWPERMIT>
| Parameter | Type | Description |
|---|---|---|
| birthplace_country | ||
| birthplace_province | ||
| nataddr | ||
| living_area | ||
| third_region | ||
| third_region_opt | ||
| degree_no | ||
| job | ||
| experience | ||
| unit | ||
| employer1 | ||
| employer2 | ||
| idno | ||
| issued_at | YYYY-MM-DD HH:MM:SS | |
| expire_date | ||
| visa_country | ||
| visa_type | ||
| visa_start_at | YYYY-MM-DD HH:MM:SS | |
| visa_end_at | YYYY-MM-DD HH:MM:SS | |
| visa_stay_duration | ||
| declared_item | ||
| relatives | <NP_ST_TWPERMIT_RELATIVES> |
<NP_ST_TWPERMIT_RELATIVES>
| Parameter | Type | Description |
|---|---|---|
| relationship | ||
| name | ||
| birthday | ||
| is_survived | ||
| job | ||
| address | ||
| tel | ||
| sort_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_edu | |
| np_st_twpermit | |
| np_st_twpermit_relatives | |
| np_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新np_st: apply_filled_at=now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /np/proj/{np_project.proj_no}/apply/{np_st.apply_no}/{np_st.apply_no}_profile_image.副檔名; ref_column=profile_image
2023/01/13更新: request增加參數is_ch_native_speaker, is_eng_native_speaker,is_native_english, learn_eng_year, learn_eng_month, 並更新np_st欄位值
Update
2023/01/13
NPA07 - 取得線上申請附件清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/application-docs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"apply_status",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_doc | |
| np_link | |
| np_project | |
| np_common_doc |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 先取得np_common_doc(np_project.ismain=1)對應的doc_no, 再關聯np_st_doc取得學生有上傳的附件
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
- 新增apply_status, 取ie_st_doc.apply_status (如果ie_st_doc不存在, apply_status='9'尚未收件)
webfront
apply_status=9 => "尚未上傳" apply_status=3 => "待補件" apply_status=其他狀態 => "已上傳"
Update
2021/08/23
NPA08 - 上傳線上申請附件
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/upload-application-docs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_doc | |
| np_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 附件儲存路徑 /np/proj/{np_project.proj_no}/apply/{np_st.apply_no}/{np_st_doc.doc_no}.副檔名
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
Update
2021/06/14
NPA09 - 取得申請結果(榜單公告)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/application-result
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status",
"enroll_dep",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷時間是否位於np_project.result_start_at & result_end_at之間, 否則回錯誤碼
Update
2021/06/01
NPA10 - 取得線上報到狀態
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/enroll-status
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"education": {
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
},
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_cellphone_2",
"contact_email_2",
"contact_addr_2",
"ar_status",
"enroll_dep",
"is_register",
"dorm_status",
"dorm_location",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_edu |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- np_st_edu只撈is_current=1的資料
- 判斷時間是否位於np_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
webfront - 判斷若dorm_status=1(床位正取), 才會出現"校內住宿"選項
Update
2021/06/01
NPA11 - 進行線上報到
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/enroll
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_cellphone_2 | ||
| contact_email_2 | ||
| contact_addr_2 | ||
| dorm_location |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 需更新register_at=now()
- 判斷時間是否位於np_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
Update
2021/06/01
NPA12 - 取得學生資料維護(在校生)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/enroll-st-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"address_tw",
"cellphone_tw",
"email_1",
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_addr_2",
"contact_email_2",
"visa_expire_at",
"visa_type",
"visa_no",
"insurance_type",
"insurance_expire_at",
"is_national_health_insurance",
"insurance_file": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
Update
2021/06/01
NPA13 - 編輯學生資料維護
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/edit-enroll-st-info
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| insurance_file | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| address_tw | ||
| cellphone_tw | ||
| email_1 | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_addr_2 | ||
| contact_email_2 | ||
| visa_expire_at | YYYY-MM-DD HH:MM:SS | |
| visa_type | ||
| visa_no | ||
| insurance_type | ||
| insurance_expire_at | YYYY-MM-DD HH:MM:SS | |
| is_national_health_insurance |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_link |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- insurance_file存np_link, ref_column=insurance_file, 上傳檔案路徑: /np/st/{np_st.st_no}/insurance_file.副檔名
- 更新personal_info_update_status=1, personal_info_update_at=now(), insurance_update_status=1, insurance_update_at=now()
Update
2021/06/01
NPA14 - 取得在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/exchange-experience
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchange_exp": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"exchange_images": [{
"image": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_link |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
Update
2021/06/01
NPA15 - 上傳在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/send-exchange-experience
Request
- Auth Required
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| exchange_exp | MultipartFile | 0 or 1 file |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_link |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- exchange_exp存np_link, ref_column: exchange_exp, 上傳檔案路徑: /np/st/{np_st.st_no}/exchange_exp.副檔名
Update
2021/06/01
NPA16 - 送出離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/send-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| leave_sch_at | string | YYYY-MM-DD HH:MM:SS |
| leave_tw_at | string | YYYY-MM-DD HH:MM:SS |
| leave_apply_at | string | YYYY-MM-DD HH:MM:SS |
| leave_reason | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- 更新leave_update_status=1, leave_update_at=now()
Update
2021/06/01
NPA17 - 列印離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/print-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- 讀取np_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
- 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr
Update
2021/06/01
NPA18 - 登入(新生申請)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | |
| password | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1001 登入失敗
NP1009 連續登入失敗
NP1011 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_project |
- 檢查帳號密碼是否符合,且專案是否為主要專案 select from np_st left join np_project where apply_no={apply_no} and password={password} and np_project.ismain=1
- 檢查登入錯誤3次就鎖定600秒無法登入(錯誤次數跟鎖定秒數從ss_config來, oia_login_error_times & oia_login_lock_time)
- 登入失敗時更新np_st: error_times+1 & login_time=now()
- 登入成功時更新np_st: login_time=now() & login_success_time=now() & error_times=0
Update
2021/07/08
NPA19 - 取得NP參數設定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/config
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"config": {
"np_dorm_name",
"np_dorm_link",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_config | is_enable=1 |
Update
2021/06/01
NPA20 - 取得離校申請資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"leave_sch_at",
"leave_tw_at",
"leave_apply_at",
"leave_reason",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
Update
2021/06/01
NPA21 - 取得圖片/檔案內容
此為公開檔案, 用於前台最新消息與下載專區
Request範例
HTTP Request
GET {{frontapi.url}}/v1/np/dl?f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| f | string | np_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_link |
- 需檢查np_link: link_uri={link_uri} 且ref_table=(np_news or np_brochure)
Update
2021/06/01
NPA22 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上申請,學生資料維護(保險資料)與來校心得(交換心得, 交換照片)
Request範例
HTTP Request
GET {{frontapi.url}}/v1/np/private-dl?token={preview_token}&f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| f | string | np_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_link | |
| np_st |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案
Update
2021/06/01
NPA23 - 上傳在校心得照片
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/send-exchange-experience-image
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| exchange_image | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| entity_id? | int |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_link |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- exchange_images存np_link, ref_column: exchange_image, 上傳檔案路徑: /np/st/{np_st.st_no}/exchange_images/{file hash}.副檔名
- 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的
Update
2021/06/01
NPA24 - 申請帳號
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/register
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| en_name | string | |
| email_1 | string | |
| nationality | string | |
| sch_no | string | |
| other_sch | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_link |
- insert np_st: en_name, email_1, nationality, sch_no, other_sch, proj_no, apply_no, password, ps_cnt_scope
- 帳號(apply_no)規則: sch_no+proj_no+cnt_scope三碼流水號 (如果沒有sch_no, 就帶'ZZ-000-NP')
- 開立帳號相關規則可參考後台NP102
- 開立帳號預設 apply_status = '9'
- 寄送通知信, 通知信範例為 https://docs.google.com/document/d/1hlDtCrgVhwPXML7a-9VdFlDzpiNCPWTt/edit
webfront NP非大陸學校為 "自填學校名稱" NP大陸學校為 "PS清單(大陸學校,交流狀態:其他合作校)"及"自填學校名稱"
Update
2021/06/01
NPA25 - 進行線上申請繳費
Request範例
HTTP Request
GET {{frontapi.url}}/v1/np/pay?token={preview_token}&pay_type={pay_type}&locale={locale}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| pay_type | string | A: 信用卡, G: 超商繳費單 |
| token | string | from SSA06 |
| locale | string | en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
跳轉到付款頁
Response Error Codes
NP1010 已付款
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getVaccNo, 將回傳的vaccNo更新np_st.vacc_no (* 如果np_st.vacc_no已存在, 則不再取新的vacc_no)
- fee = np_config.np_apply_fee
- vaccNo = 49849(ss_config.oia_vacc_base_no) + 報名管道代碼(np_config.np_payment_activity_no) + 學期別 + 招生年度後二碼 + 流水碼4碼
- 學期別: np_project.term末一碼
- 招生年度: np_project.term前三碼
- call service: doPay 直接轉導到付款頁 (將service param存在np_st.payment_request)
- vacc14 = np_st.vacc_no
- payType = pay_type
- fee = np_config.np_apply_fee
- dueDate = np_project.payment_end_at (格式為 YYYYMMDD, 例如: 20131230)
- paymentName = np_config.np_payment_name
- paymentUser = np_st.apply_no
- paymentUserNAME = np_st.en_name
- oiaReturnUrl = NPA27 's URL
- update np_st:
- vacc_no
- pay_currency='NT'
- fees_num=np_config.np_apply_fee
- pay_kind='7'
- payment_type=pay_type
- payment_request
- payment_start_at=now()
- insert ss_log:
- eno=-1
- category='NP'
- action='NPA25'
- data= apply_no, vacc_no, pay_currency, fees_num, pay_kind, payment_type, payment_request, payment_start_at(將np_st的這些欄位以json格式儲存)
Update
2021/11/30
NPA26 - 取得繳費結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/payment-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"apply_no",
"vacc_no",
"vacc_state",
"fees_num",
"pay_fees_num",
"pay_currency",
"pay_kind",
"receive_day",
"payment_src",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- call service: getPaymentResult
- update np_st:
- vacc_state = from step1 service
Update
2021/12/16
NPA27 - 繳費交易完成回導頁
師大payment gateway直接回導, 僅能用GET
Request範例
HTTP Request
GET {{frontapi.url}}/v1/np/payment-completed/{vacc_no}/{locale}?SRC={}&BRC={}&URLResEnc={}&TYP={}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| vacc_no | string | 虛擬帳號(np_st.vacc_no) |
| locale | string | en | zh-tw |
| SRC | string | 金流回覆碼 |
| BRC | string | |
| URLResEnc | string | (加密資訊) |
| TYP | string |
Response
轉導到前端頁面: URL待補
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 一進來將收到的request存到ss_log (eno=-1, category='NP', action='NPA27', data=request參數), 程式不做任何處理先存
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getPaymentResult
- update np_st:
- payment_src = SRC
- payment_response = {"SRC": ,"BRC": ,"URLResEnc": ,"TYP": }(20221101改不更新此值)
- vacc_state = from step1 service
- pay_fees_num=np_config.np_apply_fee [SRC=00才更新]
- payment_paid_at=now() [SRC=00才更新]
- receive_day=now() (format: YYYY/MM/DD) [SRC=00才更新]
- insert ss_log:
- eno=-1
- category='NP'
- action='NPA27'
- data= apply_no, vacc_no, pay_currency, fees_num, pay_kind, payment_type, payment_request, payment_start_at, payment_src, payment_response, vacc_state, pay_fees_num, payment_paid_at, receive_day(將np_st的這些欄位以json格式儲存)
Update
2021/11/30
NPA28 - 列印線上申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/print-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
NP1002 token類型不合法
NP1003 找不到np_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_st_edu | |
| np_st_twpermit | |
| np_st_twpermit_relatives | |
| np_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 產出線上申請單格式
- 更新np_st.apply_printed_at = now()
Update
2021/06/14
NPA29 - 取得線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchang_period",
"ps_cnt_scope",
"degree_no",
"apply_dep_1",
"apply_dep_2",
"is_study_mandarin",
"nationality",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token類型不合法
NP1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為(np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
Update
2021/06/14
NPA30 - 編輯線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/edit-application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| exchang_period | ||
| degree_no | ||
| apply_dep_1 | ||
| apply_dep_2 | ||
| is_study_mandarin |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
NP1002 token類型不合法
NP1003 找不到np_st 主檔
NP1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新np_st: apply_dep_updated_at=now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (np_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /np/proj/{np_project.proj_no}/apply/{np_st.apply_no}/{np_st.apply_no}_profile_image.副檔名; ref_column=profile_image
Update
2021/06/14
NPA31 - 送出線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/submit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新np_st: apply_status = '0' & apply_at=now()
Update
2021/06/14
NPA32 - 取得線上申請進度
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status",
"apply_filled_at",
"apply_dep_updated_at",
"apply_printed_at",
"payment_paid_at",
"apply_at",
"payment_end_at",
"dep_review_status_1",
"dep_review_status_2",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_st | |
| np_project |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 如果不在np_project.apply_start_at & apply_end_at時間內, 或是 np_st.apply_status!=3, 回error code (此功能尚未開放)
- payment_end_at來自np_project
webfront
- apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
- 出現error code顯示"此功能尚未開放"
- apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
- 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出
2023/01/11 多回傳dep_review_status_1, dep_review_status_2
Update
2023/01/11
NPA33 - 取得學生資料(離校問卷使用)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/survey-st-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"st_no",
"gender",
"enroll_dep", // dep_no
"degree_no",
"nationality",
"is_send_survey",
"proj_no", // prog_no
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
Update
2021/10/13
NPA34 - 送出離校問卷
Request範例
HTTP Request
POST {{frontapi.url}}/v1/np/send-leave-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_st |
- 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
- 更新is_send_survey=1
Update
2021/10/13
OC 僑生線上系統
OCA01 - 取得專案資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/project-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"proj_name",
"term",
"apply_sday",
"apply_eday",
"fees_nt",
"ch_intro",
"en_intro",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| oc_project |
- 取得主要專案資訊 (oc_project.ismain=1)
Update
2021/06/07
OCA02 - 申請帳號
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/register
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| uec_apply_no | string | 海聯會序號 |
| passport_no | string | 護照號碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OC106 帳號重複
Logic
TABLE
| table | Description |
|---|---|
| oc_project | |
| oc_st |
- oc_no, uec_apply_no不可重複
Update
2021/06/25
OCA03 - 登入(新生申請)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| uec_apply_no | string | 海聯會序號 |
| password | String | passport_no的後六碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OC1001 登入失敗
OC105 未在報名期間內
Logic
TABLE
| table | Description |
|---|---|
| oc_project | |
| oc_st | |
| oc_st_wish |
- 檢查帳號密碼是否符合,且專案是否為主要專案
Update
2021/06/07
OCA04 - 取得線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"oc_no",
"uec_apply_no",
"passport_no",
"ch_name",
"en_name",
"gender",
"bday",
"nationality",
"birth_place",
"tel",
"cellphone",
"address",
"email",
"contact_name",
"relationship",
"contact_tel",
"apply_deps": [
{
"dep_no",
"section_no",
"sort_no"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OC1002 token類型不合法
OC1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| oc_st | |
| oc_st_wish |
Update
2021/06/07
OCA05 - 編輯線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/edit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| oc_no | ||
| uec_apply_no | ||
| passport_no | ||
| ch_name | ||
| en_name | ||
| gender | ||
| bday | ||
| nationality | ||
| birth_place | ||
| tel | ||
| cellphone | ||
| address | ||
| contact_name | ||
| relationship | ||
| contact_tel | ||
| apply_deps | [<APPLY_DEPS>] |
<APPLY_DEPS>
| Parameter | Type | Description |
|---|---|---|
| dep_no | ||
| sort_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OC1002 token類型不合法
OC1003 找不到oc_st 主檔
OC1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| oc_st | |
| oc_st_wish |
Update
2021/06/07
OCA06 - 進行線上申請繳費
ref. VSA25
Request範例
HTTP Request
GET {{frontapi.url}}/v1/oc/pay?token={preview_token}&pay_type={pay_type}&locale={locale}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| pay_type | string | A: 信用卡 |
| preview_token | string | from SSA06 |
| locale | string | en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
跳轉到付款頁
Logic
TABLE
| table | Description |
|---|---|
| oc_st |
- call service: getVaccNo, 將回傳的vaccNo更新oc_st.vacc_no
- fee = oc_project.fees_nt
- vaccNo = ss_config.oia_vacc_base_no + oc_config.oc_payment_activity_no + oc_project.term末一碼 + oc_project.proj_no第三、四碼 + 流水碼4碼
(49849 + 報名管道代碼 學期別 + 招生年度後二碼 + 流水碼4碼)
- call service: doPay 直接轉導到付款頁 (將service param存在oc_st.payment_request)
- vacc14 = oc_st.vacc_no
- payType = pay_type
- fee = oc_project.fees_nt
- dueDate = oc_project.payment_eday
- paymentName = oc_project.oc_payment_name
- paymentUser = oc_st.uec_apply_no
- paymentUserNAME = oc_st.ch_name
- oiaReturnUrl = OCA08 's URL
Update
2021/06/07
OCA07 - 取得繳費結果
ref. VSA26
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/payment-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"uec_apply_no",
"ch_name",
"en_name",
"vacc_no",
"vacc_state",
"fees_num",
"pay_fees_num",
"pay_currency",
"pay_kind",
"receive_day",
"payment_src",
"apply_deps": [
{
"dep_no",
"section_no",
"sort_no"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| oc_st |
Update
2021/06/07
OCA08 - 繳費交易完成回導頁
師大payment gateway直接回導, 僅能用GET
ref. VSA27
Request範例
HTTP Request
GET {{frontapi.url}}/v1/oc/payment-completed/{vacc_no}/{locale}?SRC={}&BRC={}&URLResEnc={}&TYP={}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| vacc_no | string | 虛擬帳號(oc_st.vacc_no) |
| locale | string | en | zh-tw |
| SRC | string | 金流回覆碼 |
| BRC | string | |
| URLResEnc | string | (加密資訊) |
| TYP | string |
Response
轉導到前端頁面: URL待補
Logic
TABLE
| table | Description |
|---|---|
| oc_st |
- call service: getPaymentResult
- update oc_st:
- payment_src = SRC
- payment_response = {"SRC": ,"BRC": ,"URLResEnc": ,"TYP": }
- vacc_state = from step1 service
- pay_fees_num=oc_project.fees_nt * 志願數 [SRC=00才更新]
- payment_paid_at=now() [SRC=00才更新]
- receive_day=now() (format: YYYY/MM/DD) [SRC=00才更新]
Update
2021/06/07
OCA009 - 取得僑生申請系所清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"dep_no": "EU00",
"col_no": "E",
"dept_no": "00",
"degree_no": "U",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": []
},
{
"dep_no": "EM00",
"col_no": "E",
"dept_no": "00",
"degree_no": "M",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": []
},
{
"dep_no": "ED00",
"col_no": "E",
"dept_no": "00",
"degree_no": "D",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": []
},
{
"dep_no": "EU06",
"col_no": "E",
"dept_no": "01",
"degree_no": "U",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling",
"sections": [
{
"section_no": "B",
"ch_name": "幼兒發展與教育組",
"en_name": "Early Childhood Development and Education"
},
{
"section_no": "E",
"ch_name": "家庭生活教育組",
"en_name": "Family Life Education"
}
]
}
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| oc_section |
Update
2021/05/19
*OCA10 - 登入(報到問卷)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/survey-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| enroll_no | string | 僑居地身分證字號(包含符號)前10碼 或 僑居地護照號碼前10碼 或 臺灣身份證字號 或 臺灣護照號碼 |
| password | String | 民國年月日(yymmdd) 共6碼 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
"survey_url_key",
"apply_dep",
"degree",
"nationality",
"gender",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OC101 登入失敗
OC105 未在問卷填寫期間內
Logic
TABLE
| table | Description |
|---|---|
| oc_project | |
| oc_st_enroll | ocid1:僑居地身分證字號(包含符號)前10碼 ocid2:僑居地護照號碼前10碼 twid1:臺灣身份證字號 twid2:臺灣護照號碼 |
- 需判斷oc_project.survey_sday、oc_project.survey_eday、oc_project.ismain = 1
Update
2021/09/14
OCA11 - 取得線上申請進度
Request範例
HTTP Request
POST {{frontapi.url}}/v1/oc/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| oc_no | string | 序號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status"
}
}
Response
| Property | Type | Description |
|---|---|---|
| apply_status | String | 申請狀態 |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| oc_project | |
| oc_st |
apply_status判斷step1, 2是否能點擊
| api code | apply_status | description | trigger | step1 | step2 |
|---|---|---|---|---|---|
| OCA02 | apply | 申請中 (未付款) -> step1 ing |
註冊後 | 可點、可改 | 不可點、不可繳 |
| OCA05 | payment | 付款中 (未付款) -> step2 ing |
step1按儲存,若未填系所則拋錯誤 | 可點、可改 | 可點、可繳 |
| OCA08 | completed | 付款完成 (已付款) | 付款完成,代碼 00 | 可點、不可改 | 可點、不可繳 |
| OCA08 | failed | 付款失敗 (已付款) | 付款失敗,代碼非 00 | 可點、不可改 | 可點、可繳 請洽承辦人重設虛擬帳號 |
Update
2021/09/10
OE 赴外交換生系統
OEA01 - 首頁最新消息
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getNews
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"news_no": "20111125",
"event_start_date": "2011/12/30",
"event_end_date": "2012/02/29",
"post_date": "2011/12/30",
"ch_title": "Title",
"ch_detail": "Details",
"publisher_name": "John Doe",
"publisher_email": "someone@example.com",
"publisher_phone": "+886-xxx-xxx-xxx",
"publisher_department": "College of EECS",
"news_level":"院級",
"has_attach":true
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/09
OEA02 - 校級專案時程表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getSchoolSchedule
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_name": "106-1(2017秋季班)赴外交換生甄選",
"apply_start_day": "2019/11/25",
"apply_end_day": "2021/01/12",
"exam_day": "未定",
"first_enroll_start_day": "2021/01/16",
"first_enroll_end_day": "2021/05/22",
"second_selection_start_day": "2021/04/22",
"second_selection_end_day": "2021/05/22",
"second_enroll_start_day": "2021/04/22",
"second_enroll_end_day": "2021/05/22",
"final_result_announcement_day": "2021/05/22",
"contact_email": " someone@example.com ",
"contact_person": "John Doe"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/09
OEA03 - 下載專區
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getOeDownloads
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"item_id": "2002120572",
"title": "【請填寫】中港澳入境學生及教職員工管理紀錄表",
"filename": "Announcement1-QA-EN.pdf",
"project_name": "106-1(2017秋季班)赴外交換生甄選"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/09
OEA04 - 校級專區menu開放項目
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/schMenuOption
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"main_project_no" : "201701",
"status_check_open": false,
"lack_list_open": true,
"enrol_open": true,
"result_announce_open": true
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/09
OEA05 - 開放申請中專案九宮格列表
Request範例
HTTP Request
GET {{frontapi.url}}/v1/oe/getOpenProjects
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"available_terms": [
"1061"
],
"open_projects": [
{
"project_no": "201701",
"project_term": "1061",
"school_level_code": "U",
"school_level_ch": "校級"
},
{
"project_no": "201702",
"project_term": "1061",
"school_level_code": "C",
"school_level_ch": "院級"
},
{
"project_no": "201703",
"project_term": "1061",
"school_level_code": "D",
"school_level_ch": "系所級"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- 從v_STFSTMD_1100412取得學生科系
- 從v_STFSTMM_1120413取得學生是否有雙主修或輔系
- 依照上述兩點判斷登入者可報名的專案有哪些
- 校級:
- OE101設定線上起訖時間內
- OE105設定開缺名額(oe_sch_quota_history.quota) > 0
- 學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料) → 前端阻擋
- 院系級:
- OE102設定線上起訖時間內, 還要看OE106 至少要有一所學校在線上申請起訖時間內(oe_sch_quota_history.apply_sday)
- 會優先以學校設定的起迄時間為主,學校沒設定時間才會看專案設定的起迄時間(從程式邏輯來看, 不確定承辦人實際需求)
- OE106設定開缺名額(oe_sch_quota_history.quota) > 0
- 學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料) → 前端阻擋
- OE102設定線上起訖時間內, 還要看OE106 至少要有一所學校在線上申請起訖時間內(oe_sch_quota_history.apply_sday)
- 校級:
- 前端會判斷學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料),才可填寫報名表,否則會顯示「您的申請已送出」
Update
2023/08/25
OEA06 - 校級學校缺額列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getSchoolLackList
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"school_lack_list": [
{
"language_group",
"language_group_no",
"schools": [
{
"school_name_ch":,
"school_name_en":,
"school_no":,
"school_lack_amount":,
"programs": [
{
"program_name",
"program_lack_amount"
}
]
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/09
OEA07 - 交換生學校列表與條件
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/requirementHistory
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| term | Y | 學期字串, ex. 1061 |
| schLevel | Y | 辦理單位隸屬 (All: 全部, U: 校級, C: 院級, D: 系級) |
| schoolName | N | 搜尋校名(中、英)、國家(依locale)、學院名(依locale)、系所名(依locale) |
| pageNo | N | 目前頁數,Default = 1 |
| pageSize | N | 一頁顯示筆數,Default = 10 |
| _locale | N | 語言,en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"term",
"pageMeta": {
"total_page",
"current_page_no",
"item_per_page"
},
"schools": {
"school_no": "HK-001-HKI" (string),
"school_name_ch": "香港教育學院" (string),
"school_name_en": "Hong Kong Institute of Education" (string),
"school_quota": null (int),
"school_country": "香港", //locale
"organizer": "運動與休閒學院" (string), //locale
"contract_level": "院級" (string), //locale
"programs": [
{
"program_no": "01",
"program_name": "一般學程", //locale
"grade_limit": "限學士班學生申請", //locale
"program_quota": null (int),
"organizer_name": "翁乃忻", //locale
"organizer_mail": "roxane@ntnu.edu.tw",
"organizer_phone": "+886 2-7734-1274",
"gpa": 2.5 (float),
"gept_level": null,
"ielts": null (float),
"ielts_listening": null,
"ielts_reading": null,
"ielts_speaking": null,
"ielts_writing": null,
"toefl_ibt": null (int),
"toefl_ibt_listening": null,
"toefl_ibt_reading": null,
"toefl_ibt_speaking": null,
"toefl_ibt_writng": null,
"toefl_itp": null,
"toefl_itp_listening": null,
"toefl_itp_grammer": null,
"tofel_itp_reading": null,
"toeic_total": null,
"toeic_listening": null,
"toeic_reading": null,
"japanese_jlpt_level": "N4(三級)",
"korean_topik_level": "一級",
"german_level": "A1",
"french_delf_level": "A1",
"french_tcf_level": "A1",
"spanish_level": "A1",
"russian_level": "A1",
"portuguese_level": "A1",
"italian_level": "A1",
"japanese_jlpt" : 850 (int),
"other_language_certificate": null,
"offer": null,
"exchange_period_type": "一學年/上學期", //locale
"apply_url":"http://example.com/",
"remark": "GPA > 100!!",
"exclude_ident": "僑生/港澳生/外籍生" //locale
}
]
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- school_quota: 校級來自「105開缺名額」oe_sch_quota_history.quota, 院系級來自「106合約名額」oe_sch.sch_contract_quota。
- programs.grade_limit: 為反向顯示, 即qual_prog_u欄位值"xU1,xU2", 要回傳"學士三年級,學士四年級,學士五年級,學士六年級,碩士班,博士班"。
History
2021/04/26: 移除托福CBT、PBT,新增俄文、葡語、義文、日文J_TEST分數
2021/07/27: 標註須依locale換內容的key值,並增加 querystring _locale 及 schoolName 說明
20230814: 回傳值school_quota本來是拿oe_sch_quota_history.quota, 調整成 校級來自「105開缺名額」oe_sch_quota_history.quota, 院系級來自「106合約名額」oe_sch.sch_contract_quota。
Update
2023/08/14
OEA08 - 首頁可背後台編輯之前台顯示字串
/** Same Function As Common-1.4 **/ item_type: text -> 直接顯示文字 item_type: image -> content_ch/content_en內容為圖片file path。
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getIndexPageContent
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"id": "oe_index_main_img_title",
"system_name": "OE",
"section": "index",
"description": "OE首頁圖片標題文字",
"content_ch": "Outgoing Exchange Student Applications",
"content_en": "Outgoing Exchange Student Applications",
"item_type": "text"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/09
OEA09 - 最近2學期代號(排除寒暑)
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getLatestTerms
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| rocYear | N | Override last ROC year for testing purpose. |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"latest_terms": [
{
"term": "1061",
"term_name": "106學年度第1學期"
},
{
"term": "1051",
"term_name": "105學年度第1學期"
},
{
"term": "1042",
"term_name": "104年度第2學期"
},
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- 取oe_project.term最近的2個學期, 但排除寒暑期(term尾數3跟4)。
20230814: 原邏輯為取近3年學期(6學期)代號, 調整成「取近2學期, 但不包含寒暑期」。
Update
2023/08/14
OEA10 - 申請表單下拉選單列表內容
取得各下拉選單內容,各選單由每個項目的值與顯示名稱一組的構成陣列。
Request範例
HTTP Request
GET {{frontapi.url}} /api/v1/getDropdown
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"oe_group": [
{
"value": "01",
"ch_name": "英語組"
}, …
],
"army_status": [
{
"value": "1",
"ch_name": "役畢"
}, …
],
"gender": [ … ],
"gept": [ … ],
"japanese": [ … ],
"korean": [ ... ],
"german": [ ... ],
"french_delf": [ ... ],
"french_tcf": [ ... ],
"spanish": [ ... ],
"russian": [ ... ],
"protuguese": [ ... ],
"italian": [ ... ],
"grade": [ … ] (年級)
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
History
2021/04/26: 新增俄文、葡語、義文
Update
2021/06/09
OEA11 - 申請專案填寫進度
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getApplyFillStatus
- apply_status回傳oe_st.apply_status值
- apply_status = '9'、emptyString 才會開啟申請步驟,其餘狀態顯示表示已完成送出申請
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status":"0/1/2/3/4/9",
"step1_status": "已填寫/未完成 (缺照片) /未完成",
"wish_date": "已填寫/未完成",
"pay_status": "已繳費/未完成",
"print_status": "已列印/未完成",
"file_upload_status": "已上傳/未完成"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/09
OEA12 - 申請表單預填資料/已填寫資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getStudentAppliedData
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 申請計畫編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "201801",
"aao_info": {
"apply_no": null,
"student_no": "496202098",
"student_name_ch": "楊XX",
"student_name_en": "XX Yang",
"birth_date": "1989/08/09",
"photo_url": null,
"gender": "F",
"identity_class_1": "B",
"identity_class_2": "2",
"identity_class_name_1": "一般生",
"identity_class_name_2": "自費生",
"gpa_grade": "4.1",
"avg_score": "87.87",
"department_code": "LU20",
"department_name": "國文學系",
"degree_name": "學士班",
"nation_name": "臺灣",
"nation_code": "TW",
"grade": "3",
"group": null,
"communication_address": "台北市大安區忠孝東路四段",
"permanent_address": "台北市大安區忠孝東路四段"
},
"user_inputs": {
"identification_number": "A123456789",
"resident_number ": "A123456789",
"communication_phone_number": "02-27732531",
"permanent_phone_number": "02-27732531",
"military": "3",
"apply_group": null,
"email": "princessmia11430@hotmail.com",
"cellphone": "0900123456",
"photo_url": "photo/OE/201701_09050151.webp",
"toefl_cpt": null (numeric),
"toefl_pbt": null (numeric),
"toefl_ibt": {
"total": null (numeric),
"listening": null (numeric),
"reading": null (numeric),
"speaking": null (numeric),
"writing": null (numeric)
},
"toefl_itp": {
"listening": null (numeric),
"grammar": (numeric),
"reading": (numeric),
},
"ielts": {
"total": null (numeric),
"listening": null (numeric),
"speaking": null (numeric),
"reading": null (numeric),
"writing": null (numeric)
},
"toeic": {
"total": null (numeric),
"listening": null (numeric),
"reading": null (numeric)
},
"gept_level": null,
"japanese": null (int),
"korean": null,
"french_delf": null,
"french_tcf": null,
"german": null,
"spanish": null,
"other_language_certificate": "韓文/日文"
"jtest": null (int),
"russian": null,
"portuguese": null,
"italian": null,
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/a)
Logic
(N/A)
History
2021/04/26: 新增avg_score 2021/04/07: 新增jtest, russian, portuguese, italian.
Update
2021/06/09
OEA13 - 新增/更新申請表
Photo Upload -> OE 1.18 將OE 1.12 的body整包回傳 1. JSON無apply_no且DB確實無現有申請資料 -> 建立新的申請資料 2. JSON有apply_no 且同DB現有apply_no 2.1 有更新組別 -> 更新apply_no及資料 2.2 無更新組別 -> 僅更新資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateApplyForm
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | JSON, Everything inside return body of OE 1.12 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"result": "Update OK",
"result_code": "0",
"group_change": "true",
"new_apply_no":"2105001" // Only if group change.
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
apply_no mismatch will cause S9910.
Logic
(N/A)
Update
2021/06/09
OEA14 - 申請表照片上傳
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/uploadPhoto
Request
- Auth Required
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| projNo | FormData (String) | |
| photo | FormData Multipart File |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"URL": "photo/OE/201701_09050151.jpg"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/09
OEA15 - 下載申請照片
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/profile-pic/dl
Request
- Auth Required
Content-type: multipart/form-data
| Property | Type | Description |
|---|---|---|
| f | string | /oe/proj/{proj_no}/apply/{apply_no}/oe_xxx.ext |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/07/09
OEA16 - 取得申請志願學校學程選單
- 學校剩餘名額 > 0
- 學程判斷門檻包含 學程開缺名額 : !=NULL AND >0 者可以申請。 *年級限制: 非 equal 判斷。例如"限大三以上申請"條件即大學三年級以上、碩士、博士都可以申請。 GPA成績: 學生GPA >= 學程GPA。 外語能力相關欄位: 至少其中一項(若有"聽說讀寫文法總分"的需要視為一組外語成績,即"聽說讀寫文法總分"有填值的都要符合) <= 學生外能能力成績 身分別限制 : 學生身分 IN 學程身分別限制。
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getApplicableSchList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 目前申請專案代號 |
| leave_tw_at | No | 第n次補填志願,n >= 2必填 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_no": "0905015",
"option": {
"continents": [
{
"continent_code": "AS",
"continent_name": "亞洲",
"countries": [
{
"country_code": "JP",
"country_name": "日本",
"schools": [
{
"school_no": "JP-007-WU",
"school_name": "日本早稻田大學",
"programs": [
{
"program_no": "01",
"program_name": "通科課程",
"exchange_periods": [
{
"exchange_period_value": "1",
"exchange_period_name": "一學年"
}, …
]
}, …
]
}, …
]
}, …
]
}, …
]
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
OE2001: 沒有申請資料
Logic
(N/A)
Update
2021/06/09
OEA17 - 取得目前志願序
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/getWishList
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 目前申請專案代號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_no": "09050151",
"wish_list_current": [
{
"wish_serial": "1" (int),
"contient_code": "AS",
"country_code": "JP",
"school_no": "JP-007-WU",
"program_no": "03",
"department": "BLAHAJ",
"exchange_period_value": "2"
}, …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/09
OEA18 - 更新志願列表
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateWishList
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| allow_wish_fill_type | Stirng | 填寫志願梯次 |
| project_no | String | 目前申請專案編號 |
| wish_list | List |
目前申請專案編號 |
| wish_serial | int | 志願序 |
| school_no | String | 學校代碼 |
| program_no | String | 學程編號 |
| department | String | (Allow NULL) 科系 |
| exchange_period_value | String | 1.16取得的exchange_period_value |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "201701",
"apply_no": "09050151",
"result": {
"delete_row": 2,
"insert ": true,
"oe_st_update": true
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA19 - 取得赴外獎學金申請資料
- 4旁聽生 、8選讀生、C在職生、E在職生原住民、H外籍生、I雙聯學制生、K大陸地區學生
- 僑生只能申請鼓勵赴外
- 校、院、系級中文組不能選學海飛颺、學海惜珠
- 國籍台灣 且 赴外國家不為陸港澳者(此條件不在S1沒辦法判斷) 才可以選學海飛颺、學海惜珠
- 僑生身分者(oe_st.stfidnt_b= 'F' )排除D晨光獎學金 #0018938
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getApplyOsData
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no": "201701",
"apply_no": "2101014",
"os_A": false (boolean, not null),
"os_B": false (boolean, not null),
"os_C": false (boolean, not null),
"os_D": true (boolean, not null),
"os_allowed": [
"A",
"B",
"C",
"D"
],
"tuition": 100 (int, null for not apply yet),
"flight_fee": 200 (int, null for not apply yet),
"living_fee": 300 (int, null for not apply yet),
"total_amount": 600 (int, null for not apply yet)
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
(N/A)
Update
2021/06/10
OEA20 - 更新赴外獎學金申請資料
TL,DR: Just fill-in OE 1.19 response json and return it.
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateApplyOsData
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| proj_no | String | 目前申請專案編號 |
| apply_no | String | 目前申請編號 |
| os_A | Boolean | 是否申請獎學金A |
| os_B | Boolean | 是否申請獎學金B |
| os_C | Boolean | 是否申請獎學金C |
| os_D | Boolean | 是否申請獎學金D |
| tuition | Int | 學費 |
| flight_fee | Int | 機票費 |
| living_fee | Int | 生活費 |
| total_amount | Int | 總共費用 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
Update
2021/06/10
OEA21 - 取得OE, OS申請時上傳檔案列表
Request範例
HTTP Request
GET {{frontapi.url}} /api/v1/oe/getOeOsUploadList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"oe_doc_no": "008",
"os_doc_no": "001",
"isOE": true,
"isOS": true,
"os_type": "C",
"doc_name": "簽核後之申請表",
"uploaded": false,
"is_os_need": false,
"apply_status":"尚未收件",
"doc_path":""
},
{
"oe_doc_no": "002",
"os_doc_no": "019",
"isOE": true,
"isOS": true,
"os_type": "C",
"doc_name": "語言能力證明(佔甄審成績30%)",
"uploaded": false,
"is_os_need": false,
"apply_status":"尚未收件",
"doc_path":""
}
]
}
Response Error Codes
(N/A)
Logic
- is_os_need是否為os必上傳
- os_type os文件類型(A、B、C、D類)
- 每一筆文件增加回傳屬性資料審查狀態apply_status。
- 回傳資料來源oe_st_doc.apply_status對應的codemap(key = oe_apply_status)。
- 對應不到資料(oe_st_doc)時回傳apply_status = "尚未收件"。
20230614: 多回傳doc_path
Update
2023/06/14
OEA22 - 上傳OE, OS申請檔案
- 若為update oe_st_doc,判斷原文件狀態為"待補件"者改壓為"已補件"。
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/uploadApplyDocs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| projNo | String | (Required) |
| file | Multipart File | (Required) |
| oe_doc_no | String | (Required) if null then "null" |
| os_doc_no | String | (Required) if null then "null" |
| isOE | String | (Required) must be "true" or "false" |
| isOS | String | (Required) must be "true" or "false" |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response Error Codes
Logic
- 如果文件同時是OE跟OS的檔案,API會分別存oe_st_doc、oe_st_os_doc
Update
2023/12/05
OEA23 - (校級)報名費繳費基本資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getOeApplyPayFill
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"must_pay": true, (院系級&已付款會顯示false,以下皆為null)
"vacc14": 49849042100011,
"fee": 500,
"dueDate": 20210531,
"payTypes": [
{
"name":"超商繳費單",
"value":"G",
}, …
],
"paymentName":"校級交換生報到報…",
"paymentItemId":"090501501",
"paymentUser": "480059334",
"paymentUserNAME": "John Doe"
}
}
Response Error Codes
Logic
Update
2021/06/10
OEA24 - 取得報名費繳費結果
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getApplyPayInfo
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no":"201701",
"apply_no":"0905015",
"student_no":"48123123E2",
"pay_item_name":"校級交換生報到報名費用Fees of NTNU Outg…",
"pay_user_name":"虎斑貓",
"vacc_no":"49849042100026",
"pay_result ":"Pay / Unpay / N/A / [null]"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA25 - 正式送出OE申請
Request範例
HTTP Request
PUT {{frontapi.url}}/api/v1/oe/doSendApply/{projNo}
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body":"OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA26 - 查詢申請狀態 & 補件列表
- 顯示oe_st_doc.apply_status = 3/5/9 OR 沒上傳 的文件列表
- 用OEA22 進行上傳
- uploaded = true/false。待補件 = false;已補件=true。
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/getApplyStatus
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 申請專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status_code": "3",
"apply_status": "待補件",
"needs_supply_doc_name": [
{
"doc_name": "托福或其他語言測驗成績或其他證明文件",
"oe_doc_no": "002",
"os_doc_no": "019",
"isOE": true,
"isOS": true,
"uploaded": false
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA27 - 校級專案補件&補填志願下拉選單開放狀態
補件&補填志願選單
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getExtraMenuState
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"main_project_no": "201001",
"allow_resupply_doc": false,
"allow_wish_fill_type": "0" (開放第n次補填),
"allow_abroad_route": true
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA28 - 查詢申請結果
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/checkApplyResult
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 申請專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_no": "09050151",
"student_name": "楊茹晴",
"ar_status_code": "2",
"ar_status_name": "備取",
"apply_status_code": "1",
"apply_status_name": "通過",
"score": {
"apply_score": "-5.060" (numeric),
"group_no": "05",
"group_name": "韓語組",
"group_grade_rank": "30",
"group_total_number": "70"
},
"enroll_school": (有入取才有,else null) {
"school_name_ch": "日本早稻田大學",
"school_name_en": "Waseda University",
"program_name": "國際人文學科學程(SILS)",
"exchange_period": "上學期"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA29 - 榜單列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getResultAnnounceList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| stage | No | When null, equal stage = 0 Stage must be either 0, 1 ,2 0 means all. |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"language_list": [
"英語組",
"日語組",
"中文組",
"韓語組"
],
"language_group": [
{
"language_group_name": "英語組",
"result": [
{
"school_name": "英屬哥倫比亞大學",
"program_name": "一般學程",
"status": "正取",
"apply_no": "1001005",
"st_no": "496202206",
"register": "已報到"
}, …
]
} , …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA30 - 取得OE赴外管道
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getOeAbroadList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"oe_abroad_list": [
{
"project_no": "202102",
"apply_no": "10001",
"os_name": "教育部學海飛颺獎學金",
"school_name": "University of Leeds.",
"pipeline": "自行申請 校級"
}, …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA31 - 選取OE赴外管道(放棄清單)
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateOeAbroadList
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Property | Type | Description |
|---|---|---|
| abandon_list | List |
List of objects |
abandon_object | Property | Type | Description | | ---------- | ------ | ---------------------------------- | | project_no | String | project_no from OE 1.30 to abandon | | apply_no | String | apply_no from OE 1.30 to abandon |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA32 - 取得線上報到狀態
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getRegisterData
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"school_name": "雪梨科技大學",
"program_name": "一般學程",
"exchange_period": "一學年",
"can_register": true,
"is_register": false,
"add_to_mail_list": false,
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA33 - 進行/放棄線上報到
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateRegisterData
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Property | Type | Description |
|---|---|---|
| project_no | String | |
| to_register | Boolean | |
| add_to_mail_list | Boolean |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- 放棄報到清除保證金帳號 oe_st.deposit_vacc_no = null and oe_st.deposit_vacc_state = null and apply_margin_receipt_no = null
Update
2021/06/10
OEA34 - (校級)保證金繳費基本資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getOeDepositPayFill
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"must_pay": true, (院系級&已付款會顯示false,以下皆為null)
"vacc14": 49849042100011,
"fee": 500,
"dueDate": 20210531,
"payTypes": [
{
"name":"信用卡",
"value":"A",
}, …
],
"paymentName":"校級交換生報到保證金費用…",
"paymentItemId":"090501502",
"paymentUser": "480059334",
"paymentUserNAME": "John Doe"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA35 - 取得保證金繳費結果
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getDepositPayInfo
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no":"201701",
"apply_no":"0905015",
"student_no":"48123123E2",
"pay_item_name":"校級交換生報到保證金費用Deposit of NTNU OU Outg…",
"pay_user_name":"虎斑貓",
"vacc_no ":"49849042100021",
"pay_result ":"Pay / Unpay / N/A / [null]"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA36 - 狀態維護列表
校級
- #{dateNow} >= oe_project.ck_sday
- oe_st_wish.is_enroll = 'Y'
- oe_st.is_register = '1'
- oe_st.deposit_vacc_state = 'Pay'
- ISNULL(oe_st.is_abandon, 'N') != 'Y' (20230726移除此條件, 改由前端判斷維護按鈕disabled)
院系
- oe_st.ar_status = '1'
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getStatusList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"term_name": "106 上",
"project_name": "106-1(2017秋季班)赴外交換生甄選",
"project_no": "201701",
"school_name_ch": "日本早稻田大學",
"margin_status": "未退費",
"share_upload": "未上傳",
"share_completion": "未完成",
"abandon_code": "N"
}, …
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA37 - 取得狀態維護Page 1
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getStatusUpdatePage1
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "201701",
"student_name_ch": "楊茹晴",
"student_name_en": "Ju-Ching Yang",
"department": "國文學系學士班",
"grade": "三年級",
"student_no": "496202098",
"school_name_ch": "雪梨科技大學",
"abandon_type": "否",
"abandon_code": "N",
"study_start_date": null,
"study_end_date": null,
"est_departure_date": null,
"flight_no": null,
"est_arrival_date": null,
"contact_name": null,
"relationship": null,
"contact_phone": null,
"contact_address": null,
"contact_email": null
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA38 - 更新狀態維護Page 1
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateStatusPage1
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| project_no | String | 要維護申請專案編號 |
| study_start_date | String | 修習期間 |
| study_end_date | String | 修習期間 |
| est_departure_date | String | 預定出發日期 |
| flight_no | String | 班機號碼 |
| est_arrival_date | String | 預計抵達姐妹校日期 |
| contach_name | String | 緊急聯絡人 |
| relationship | String | 與緊急聯絡人之關係 |
| contact_phone | String | 緊急聯絡人電話 |
| contact_address | String | 緊急聯絡人住址 |
| contact_email | String | 緊急聯絡人Email |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA39 - 取得狀態維護Page 2
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getStatusUpdatePage2
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "201701",
"school_name_ch": "雪梨科技大學",
"collage": null,
"department": null,
"foreign_phone": null,
"foreign_address": null,
"foreign_zip_code": null,
"foreign_email": null,
"abandon_code": "N",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA40 - 更新狀態維護Page 2
Fill in OE 1.39 and return it.
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateStatusPage2
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| project_no | String | 要維護申請專案編號 |
| collage | String | 修習學院 |
| department | String | 修習科系 |
| foreign_phone | String | 國外聯絡電話 |
| foreign_address | String | 國外聯絡地址 |
| foreign_zip_code | String | 國外聯絡Postcode |
| foreign_email | String | 國外聯絡E-mail |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA41 - 取得狀態維護Page 3
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getStatusUpdatePage3
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "201701",
"return_date": null,
"return_plan": null,
"share_result_url": "document/OE/OE_ST/201701/201701.pdf",
"margin_bank_account_name": null,
"margin_bank_id_no": null,
"margin_bank_no": null,
"margin_bank_branches_name": null,
"margin_bank_account_no": null,
"abandon_code": "N",
"return_plan_list": [
{
"code_id": "",
"ch_name": ""
}, …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA42 - 更新狀態維護Page 3
Fill in OE 1.41 and return it.
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/updateStatusPage3
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| project_no | String | 要維護申請專案編號 |
| return_date | String | 返國日期 |
| return_plan | String | 返國後計畫 |
| margin_bank_account_name | String | 戶名 |
| margin_bank_id_no | String | 身分證字號或居留證號 |
| margin_bank_no | String | 郵局立帳局號/銀行分行代碼 |
| margin_bank_branches_name | String | 郵局/銀行分行名稱 |
| margin_bank_account_no | String | 郵局/銀行帳號 |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA43 - 上傳心得
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/oe/uploadShareResult
Request
- Auth Required
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| projNo | String | |
| shareResult | Multipart File |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"Result": "OK",
"URL": "document/OE/OE_ST/201701_09050151/201701_09050151.pdf",
"OS_SYNC":false
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA44 - 下載心得
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/doc/dl
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| f | string |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/07/09
OEA45 - 跳轉金流交易頁面
將 OE 1.23 or OE 1.34 的值放進path param回傳,外加選擇的付款方式(value) 開新視窗進行跳頁,會自動導到金流列印/繳費頁面,最後會跳頁到ss_config指定oe_pay_redirect_url並將SRC、proj_no的值回傳 (這個功能目前只有繳報名費用到)
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/doPay
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| vacc14 | Yes | |
| payType | Yes | |
| fee | Yes | |
| dueDate | Yes | |
| paymentName | Yes | |
| paymentItemId | Yes | |
| paymentUser | Yes | |
| paymentUserNAME | Yes | |
| projNo | Yes |
Response
< Returns MediaType.TEXT_HTML_VALUE, open this in new tab >
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA46 - (iReport) OE 申請表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/printOeApplyPaper
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA47 - (iReport) OE 資格確認書
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/printOeRegisterPaper
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA48 - 取得最新消息下載檔案列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getNewsAttach
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| newsNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"url": "pub_doc/OE/News/說明簡章手冊_原稿1129.pdf",
"name": "2012秋季班 赴外交換生甄選簡章手冊(11/29更新)"
}, ...
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OEA49 - 下載最新消息附件
pub_doc/OE/News/{publicFileName} <- 這一段來自 1.48 的url
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/news/dl
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| f | string | /oe/public/news/{news_no}/xxx.ext |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/07/09
OEA50 - 下載心得樣張
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/pub/dl
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| f | string |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/07/09
OEA51 - 取得雙主修輔系資訊
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getMaMi
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| st_no | string |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"st_no": "40543125S",
"tmm": [
{
"tmm_dept_code": "SU51",
"tmm_dept_chifull":"營養科學學士學位學程",
"item_type":"MA",
"item_name":"雙主修"
},
{
"tmm_dept_code": "AU30",
"tmm_dept_chifull":"體育與運動科學系學士班",
"item_type":"MA",
"item_name":"雙主修"
},
{
"tmm_dept_code": "EU11",
"tmm_dept_chifull":"學習科學學士學位學程",
"item_type":"MI",
"item_name":"輔系"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
透過學號存取course.v_STFSTMM_1120413
Update
2023/04/20
OEA52 - 取得校級申請限制狀態
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/getApplyLimitU
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| st_no | string |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"message: ""
}
}
{
"header": {
"status": "L1006"
},
"body": {
"message: "赴外交換期間已達上限(累計二學期或一學年),不得再申請校級赴外交換,如有疑問請洽詢國際事務處赴外交換承辦人。"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
篩選oe_st該登入學號(oe_st.st_no)所有歷年申請的校級專案(oe_project.sch_lv = 'U')資料 1.當有一筆oe_st.is_abandon = 'Y' 時 (是,不具不可抗力因素) 回傳錯誤狀態 status: "L1005" 、 "message": "學生{st_no}曾申請{proj_name},因非不可抗力因素取消交換,爾後不得在同一求學階段再次申請校級赴外交換且不退還保證金,如有疑問請洽國際事務處赴外交換生承辦人。"
2.oe_st.is_abandon = 'N' 時 (否) 時 ,檢查學生錄取學程(oe_st_wish.is_enroll = 'Y')的交換學期(oe_st_wish.exchange_period),若交換學期為一學年(oe_st_wish.exchange_period = 1)或 交換學期為其他種類累計(含)2次以上 回傳錯誤狀態 status: "L1006" 、 "message": "赴外交換期間已達上限(累計二學期或一學年),不得再申請校級赴外交換,如有疑問請洽詢國際事務處赴外交換承辦人。"
3.無以上狀態時 回傳狀態status: "OK" 、 "message": ""
Update
2023/04/28
OEA53 - 下載學生上傳檔案
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/oe/apply-doc/dl
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| f | string |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- 類似OEA44的功能, 只是f傳入的路徑是oe_st_doc.doc_path的值,需要判斷是登入者上傳的資料才能回傳檔案。
Update
2023/06/14
OS 赴外獎學金系統
OSA01 - 取得公告列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getNews
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| date | No | Format like “2020/01/30” |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
“news_no”: “20111125”
"event_start_date": "2011/12/30",
"event_end_date": "2012/02/29",
"post_date": "2011/12/30",
"ch_title": "Title",
"ch_detail": "Details",
"publisher_name": "John Doe",
"publisher_email": "someone@example.com",
"publisher_phone": "+886-xxx-xxx-xxx",
"publisher_department": "College of EECS"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Update
2021/06/10
OSA02 - 取得專案時程資訊
Get schedule of latest term projects.
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getOsSchedule
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_name": "pro101",
"apply_date": "2021/03/17 ~ 2021/03/25",
"check_status_date": "2021/04/22 ~ ",
"enroll_date": "(未定)"
},
{
"project_name": "教育部學海惜珠獎助計畫【99年】111",
"apply_date": "2021/01/12 ~ 2021/04/06",
"check_status_date": "2010/06/14 ~ 2020/06/14",
"enroll_date": "2010/06/14 ~ 2010/07/09"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OSA03 - 取得開放申請中的專案清單
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getOpenProject
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_no": "201604",
"project_name": "國立臺灣師範大學鼓勵學生赴境…"
}, …
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OSA04 - 取得專案填寫進度狀態
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getOsFillStatus
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | OS Project No. (NOT OE project no.) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_form_filled": true,
"apply_form_printed": true,
"documents_uploaded": false
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- apply_form_filled: 一律回true (有點怪, 推測是現在沒有欄位能判斷)
- apply_form_printed: os_st.printed_time有值回true
- documents_uploaded: 當必填檔案都已經上傳, 則回true (現在SQL非常複雜, 建議重寫)
- 如果os_st沒有資料, 預設都回false
- webfront:
判斷如果apply_form_filled , apply_form_printed ,documents_uploaded 都是true就會顯示 "您的申請已送出"
Update
2023/08/29
OSA05 - 取得專案需上傳文件列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getOsApplyUploadList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
| isReUpload | No | 是否為補件階段 |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"document_no":"001"
"document_name": "已簽章申請表",
"is_uploaded": false,
"is_required": true
}, …
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OSA06 - 專案上傳文件
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/uploadOsDocs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| data | MultipartFile | Document Data |
| projNo | Multipart String | OS project_no |
| docNo | Multipart String | Document no. from OS 1.5 |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/10
OSA07 - 申請表單下拉選單列表內容
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/osApplyDropdown
Request
- Auth Not Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"schools": [
{
"school_no": "TH-013-BRU",
"school_name": "Bansomdejchaophraya Rajabhat University",
"school_rank_qs": 230,
"school_rank_the": 94,
"school_rank_arwu": 181
}, …
],
"continent": [
{
"value": "AS",
"ch_name": "亞洲",
"en_name": null
}, …
],
"country": [
{
"value": "AD",
"ch_name": "安道爾",
"en_name": "Andorra"
}, …
],
"exchange_period": [
{
"value": "6",
"ch_name": "一學期",
"en_name": null
}, …
],
"permit": [
{
"value": "01",
"ch_name": "是",
"en_name": null
}, …
],
"pipeline": [
{
"value": "01",
"ch_name": "院系所既有出國研修計畫",
"en_name": null
}, …
],
"gender": [
{
"value": "M",
"ch_name": "男",
"en_name": null
}, …
],
"gept": [
{
"value": "1",
"ch_name": "初級",
"en_name": null
},…
],
"japanese": [
{
"value": "1",
"ch_name": "N1(一級)",
"en_name": null
},…
],
"korean": [
{
"value": "1",
"ch_name": "一級",
"en_name": null
},…
],
"german": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"french_delf": [
{
"value": "A1",
"ch_name": "A1",
"en_name": null
},…
],
"french_tcf": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"spanish": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"russian": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"portuguese": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"italian": [
{
"value": "1",
"ch_name": "A1",
"en_name": null
},…
],
"grade": [
{
"value": "1",
"ch_name": "一年級",
"en_name": null
},…
]
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
History
2021/04/26: 新增俄文、葡語、義文
Update
2021/06/11
OSA08 - 申請表單預填資料/已填寫資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getAppliedData
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_no": "202102",
"aao_info": {
"apply_no": "10001",
"student_no": "496202098",
"student_name_ch": "王曉菁",
"gender": "F",
"birth_date": "1976/03/09",
"gpa_grade": 4.1,
"average_score": "89.00",
"average_percentile": "60",
"collage_name": "藝術學院",
"department_code": "TD60",
"department_name": "美術學系",
"degree_name": "美術學系博士班",
"degree_code": "U",
"grade": "3",
"communication_address": "台中市西屯區中港2號14~2",
"permanent_address": "台中市西屯區4~2"
},
"user_basic": {
"identification_number": "S224548309",
"resident_number": null,
"email": null,
"cellphone": "0952955769",
"photo_url": "null201001_10001.jpg"
},
"user_school": {
"school_no": null,
"school_name": "University of Leeds.",
"continent_code": "EU",
"country_code": "UK",
"city": "里茲",
"collage": "貓貓",
"exchange_period": "1",
"permit": "03",
"pipeline_abroad": "04",
"tuition_fee": "50001.00",
"living_expense": "500001.00",
"ticket_price": "35001.00",
"total_fee": "585001.00",
"sch_rank_qs": 100,
"sch_rank_the": 101,
"sch_rank_arwu": 102
},
"user_language": {
"toefl_ibt": "100",
"toefl_itp": "101",
"ielts": "102",
"toeic": "103",
"gept_level": "1",
"japanese": "1",
"korean": "1",
"french_delf": "A1",
"french_tcf": null,
"german": "1",
"spanish": "1",
"other_language_certificate": "貓星語"
"jtest": 850 ,
"russian": null,
"portuguese": null,
"italian": null
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA09 - 新增/更新申請資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/updateAppliedData
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Required | Description |
|---|---|---|
| JSON | Yes | Everything in body of OS 1.9 |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- OSA09新增/更新 OS申請表,申請狀態(apply_status)都是壓尚未收件(9)。OSA26才會壓未審查(0)
Update
2021/06/11
OSA10 - 需補件的專案列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getResupplyProjects
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_no": "202102",
"project_name": "教育部學海惜珠獎助計畫【99年】111"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA11 - 狀態查詢列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/checkStatusList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_no": "202102",
"project_name": "教育部學海惜珠獎助計畫【99年】111"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA12 - 專案申請狀態
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/checkApplyStatus
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_name": "教育部學海惜珠獎助計畫【99年】111",
"apply_no": "10001",
"name": "王曉菁",
"school_name": "University of Leeds.",
"document_result": "待補件",
"first_announce": "入選",
"result": "不錄取",
"approve_result": null,
"register_result": "尚未報到"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA13 - 專案錄取結果與報到
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getEnrolledList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_no": "202102",
"project_name": "教育部學海惜珠獎助計畫【99年】111"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
1.apply_status = 1
Update
2021/06/11
OSA14 - 確認專案報到狀態
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getRegisterStatus
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"project_name": "教育部學海惜珠獎助計畫【99年】111",
"os_type": "教育部學海飛颺獎學金",
"money": 0857萬辛巴威幣,
"register_status": "尚未報到"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA15 - 更新報到狀態
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/updateRegisterStatus
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| project_no | String | |
| do_register | String |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA16 - 申請表照片上傳
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/uploadPhoto
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| projNo | String | |
| photo | Multipart File |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body":{
"Result": "OK",
"URL": "photo/OS/202102_10001.jpg"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA17 - 下載申請照片
Please see OS 1.16 return JSON URL for reference.
Require Auth token in header, DO NOT USE , use FETCH or AXIOS to fetch data and then PROCESS it!!
EX. Fetch(…).then(data -> data.blob()).then(…)
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/photo/OS/{photoUrlFileName}
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA18 - 狀態維護專案列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getUpdateStatusList
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"project_no": "202102",
"project_name": "教育部學海惜珠獎助計畫【99年】111"
},
{
"project_no": "201304",
"project_name": "國立臺灣師範大學…【102年下學期出國】"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
1.apply_status = 1、ini_ar_status = 1、ar_status = 1、is_register = 1
Update
2021/06/11
OSA19 - 取得狀態維護(1)資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getStatusPage1
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"bank_info": {
"bank_account_name": "Ornage Cat",
"bank_user_id_no": "12345",
"bank_name": "Meow Bank",
"bank_no": "999",
"bank_account": "1029384756"
},
"status1_document_upload_list": [
{
"document_no": "001",
"document_name": "護照個人資料頁",
"is_uploaded": true
}, …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA20 - 上傳狀態維護(1)檔案
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/uploadStatusDoc
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| data | Multipart File | |
| projNo | String | |
| docNo | String | doc_no from OS 1.19 |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA21 - 更新狀態維護(1)銀行資料
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/updateBankInfo
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| bank_account_name | String | 戶名 |
| bank_user_id_no | String | 身分證字號或居留證號 |
| bank_name | String | 郵局/銀行分行名稱 |
| bank_no | String | 郵局/銀行分行名稱 |
| bank_account | String | 郵局/銀行帳號 |
QueryString or PathInfo
| Property | Required | Description |
|---|---|---|
| projNo | Yes | Must put this into path |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"Result": "OK",
"OE_SYNC": true
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- 會更新os_st銀行相關欄位, 如果os_st.oe_proj_no有值, 會更新oe_st銀行相關欄位
Update
2023/08/16
OSA22 - 取得狀態維護(2)資料
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getStatusPage2
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"share_result_url": "document/OS/OS_ST/202102/10001/03/os_001.jpg",
"return_document_upload_list": [
{
"document_no": "002",
"document_name": "交換校核發之成績單",
"is_uploaded": true
}, …
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA23 - 上傳心得
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/uploadOsShareResult
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| data | Multipart File | |
| projNo | String |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"Result": "OK",
"URL": "document/OE/OE_ST/doc/…/10001/03/os_001.jpg",
"OE_SYNC": true
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA24 - 上傳狀態維護(2)文件
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/os/uploadReturnDoc
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| data | Multipart File | |
| projNo | String |
QueryString or PathInfo
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA25 - (iReport) OS 申請表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/printOsApplyPaper
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
OSA26 - 正式送出OS申請
Request範例
HTTP Request
PUT {{frontapi.url}}/api/v1/os/doSendApply/{projNo}
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| projNo | Yes | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": "OK"
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
- OSA09新增/更新 OS申請表,申請狀態(apply_status)都是壓尚未收件(9)。OSA26才會壓未審查(0)
Update
2021/06/11
OSA27 - 取得最新消息附件列表
Request範例
HTTP Request
GET {{frontapi.url}}/api/v1/os/getNewsAttach
Request
- Auth Required
| Property | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| newsNo | Yes |
Response範例
{
"header": {
"status": "OK"
},
"body": [
{
"url": "D:/AAA申請表.pdf申請表.pdf",
"name": "申請表.pdf"
}, ...
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
(N/A)
Update
2021/06/11
PS 姊妹校管理
PSA01 - 取得姊妹校清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ps/school-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"schools": [
{
"sch_no",
"ch_name",
"en_name",
"ps_area",
"country",
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | |
| ps_sch_contract | contract_status=1 |
Update
2021/06/01
PSA02 - 取得大陸合作校清單
NP使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ps/cn-school-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"schools": [
{
"sch_no",
"ch_name",
"en_name",
"ps_area",
"country",
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_sch.ps_status=5 (其他合作校) |
| ps_sch_contract | contract_status=1 |
Update
2021/06/03
PSA03 - 姊妹校國家清單 (依洲限制)
2021/7/22 delete
PSA04 - 姊妹校學校清單(依洲、國家限制)
PT 使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ps/school-list-by-region
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| ps_continent | ||
| country_code |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"schools": [
{
"sch_no",
"ps_continent",
"country_code",
"ch_name",
"en_name"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ref_country | |
| ps_sch | ps_status = 2 |
Update
2021/07/22
PSA05 - 取得姊妹校國家清單
PT 下拉清單使用,僅呈現姊妹校有的國家。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ps/country-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"countries": [
{
"country_code",
"ch_name",
"en_name",
"contient",
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ref_country | |
| ps_sch | ps_status = '2' |
Update
2021/11/15
PSA06 - 取得院系清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ps/col-department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_lv | 無則回傳完整列表 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"ch_name",
"en_name",
"code_key",
"sch_lv"
}
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_sch | code_key !== 9 |
Update
2021/11/24
PT 國際處網站維護
類別規則
| 類別 | 描述 | 項目 |
|---|---|---|
| A | 內容/畫面由工程師維護。 | |
| B | [單筆] 固定樣式編輯器,畫面由工程師維護。 | 標題:無 副標題:無 內文:有 圖片:有 檔案:有 連結:無 影片:無 |
| C | [單筆] 編輯器 | 標題:無 副標題:無 內文:有 圖片:有 檔案:有 連結:無 影片:無 |
| D | [多筆] 列表 (檔案列表/連結列表) | 標題:有 副標題:無 內文:有 圖片:無 檔案:有 連結:有 影片:無 |
| E | [多筆] 校園生活 | 標題:有 副標題:有 內文:有 圖片:有 檔案:有 連結:無 影片:有 |
| G | [單筆] 最新消息 | 標題:無 副標題:無 內文:有 圖片:有 檔案:有 連結:無 影片:無 |
| H | [多筆] 指派頁面,from 最新消息 |
PTA01 - 設定檔
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/config?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| _locale |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"footer"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_config |
Update
2021/07/05
PTA02 - 選單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/menu-list?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| _locale |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menus": [
{
"menu_sno": "2014091204",
"url_key": "#",
"menu_name": "學生專區",
"page_type": "#",
"children_menus": [
{
"menu_sno": "2014091218",
"url_key": "#",
"menu_name": "申請入學學位班",
"page_type": "#",
"children_menus": [
{
"menu_sno": "2014091402",
"url_key": "#",
"menu_name": "外國學生",
"page_type": "#",
"children_menus": [
{
"menu_sno": "201409123",
"url_key": "admission",
"menu_name": "外國學生",
"page_type": "C",
"children_menus": [
]
},
{
"menu_sno": "2014091224",
"url_key": "TBD目前為拿到",
"menu_name": "新聞公告",
"page_type": "A",
"children_menus": [
]
},
{
"menu_sno": "2014091225",
"url_key": "scholarship",
"menu_name": "獎學金",
"page_type": "C",
"children_menus": [
]
}
]
}, ... //LV3
]
}, ... //LV2
]
}, ... //LV1
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_menu |
Update
2021/07/05
PTA03 - tracking log
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/tracking-log
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_page_count |
Update
2021/07/05
PTA04 - 取得圖片
用於取得圖片
Request範例
HTTP Request
GET {{frontapi.url}}/v1/pt/dl?f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| link_uri | string |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
Update
2021/07/07
PTA05 - 首頁(大圖/4新聞/本處/申請/快捷)
Request範例
HTTP Request
GET {{frontapi.url}}/v1/pt/A/home?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"banner": [
{
"title",
"title_type",
"link_url",
"image": {
"title",
"link_uri"
},
"animation": "2"
}
],
"news": [
{
"title",
"link_url",
"image_type", //新增
"image_url", //新增
"image": {
"title",
"link_uri"
},
"post_date"
}
],
"highlight": {
"title",
"intro",
"image": {
"title",
"link_uri"
},
},
"link": {
"title",
"intro",
"image": {
"title",
"link_uri"
},
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| title_type | banner標題位置 left 靠左 right 靠右 none 不呈現 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_home | |
| pt_link | |
| pt_config | 最大筆數 |
Logic
| 類別 | 首頁大圖 | 四則新聞 | 本處焦點 | 本處鏈結 | 數量 |
|---|---|---|---|---|---|
| 標題 title |
O | O | X | X | X |
| 標題類別 title_type |
O (left/right/none) |
X | X | X | X |
| 內文 intro |
X | X | O | O | O |
| 連結 link_url |
O | O | X | X | X |
| 圖片 image_uri |
O | O | X | X | X |
| 最大筆數 | 10 | 4 | 1 | 1 | 1 |
Update
2022/01/07
PTA06 - 樣式B-圖文
B - 固定樣式編輯器,畫面由工程師維護。
※暫時移除預覽(?preview_token={preview_token})。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/B
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": [
{
"title",
"sub_title",
"intro",
"images": [
{
"title",
"link_uri"
}
],
"post_date"
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_contents | |
| pt_link |
Update
2021/07/24
PTA07 - 樣式C-ckeditor
C - 編輯器。
※暫時移除預覽(?preview_token={preview_token})。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/C
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": {
"intro",
"post_date"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_contents | ckeditor的圖片,用PTA04嵌入 |
Update
2021/07/24
PTA08 - 樣式D-列表
D - 列表 (檔案列表/連結列表)。
不分頁,多用於"相關資源"。
http://210.80.86.152/20210128_OIA/210706_OIA_v15/D_05_%E7%9B%B8%E9%97%9C%E8%B3%87%E6%BA%90.html
※ 調整request,修正Logic
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/D
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": [
{
"title",
"content_type", //new!!
"link_url", // content_type = 3
"file": { // content_type = 2
"title",
"link_uri"
},
"post_date"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | Pattern: 2 檔案型,須拿file; 3 連結型,須拿link_url; |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_contents | 排序邏輯: post_date desc, sort_no asc |
| pt_link |
Update
2023/05/08
PTA09 - 樣式E-校園生活
E - 校園生活。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/E
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": [
{
"title",
"subtitle",
"intro",
"content_type",
"images": [ // content_type = 6
{
"title",
"link_uri"
}
],
"video_url", // content_type = 5
"post_date"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | Pattern: 6 圖片型,intro + images; 5 影片型,須拿intro + video_url; |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_contents | post_date desc |
| pt_link |
Update
2021/10/12
PTA10 - 樣式H-指派
H - 指派頁面(from news)。
※ 缺項目、table
※ 加入response >> menu_sno, content_type, file
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/H
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": [
{
"main_kind",
"sub_kinds": [
{
"sub_kind",
"menu_sno",
"news_sno", // content_type = 4
"title",
"content_type",
"link_url", // content_type = 3
"file": { // content_type = 2
"title",
"link_uri"
},
"post_date"
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | 內容編輯方式 2 檔案型,須拿file; 3 連結型,須拿link_url; 4 內文型,須拿news_no -> PTA18 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_contents | data: post_date desc kind: ss_codemap.sort desc |
| pt_new_assigned_page | |
| ss_codemap |
Update
2021/10/12
PTA16 - 最新消息_焦點新聞列表by menu
G - 最新消息。
※ 加入連結/檔案
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/G/news-highlight?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"highlights": [
{
"news_sno", // content_type = 4
"title",
"content_type",
"image_type",
"images": [
{
"title",
"link_uri"
}
],
"link_url", // content_type = 3
"file": { // content_type = 2
"title",
"link_uri"
},
"post_date"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | 內容編輯方式 2 檔案型,須拿file; 3 連結型,須拿link_url; 4 內文型,須拿news_no -> PTA18 |
|
| image_type | 圖片版型選擇 1 橫式 2 直式 3 無圖 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news | 最多4筆 |
| pt_link |
Update
2021/10/12
PTA17 - 最新消息_列表by menu
G - 最新消息。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/G/news-list?_locale={locale}&_limit={limit}&_pageno={pageno}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno | string | |
| post_date | (給外賓來訪用) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page",
"menu_sno",
"news": [
{
"news_sno", // content_type = 4
"title",
"content_type",
"link_url", // content_type = 3
"file": { // content_type = 2
"title",
"link_uri"
},
"post_date"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | Pattern: 2 檔案型,須拿file; 3 連結型,須拿link_url; 4 內文型,須拿news_no -> PTA18 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news |
Update
2021/10/12
PTA18 - 最新消息_單筆頁
G - 最新消息。
含 最新消息單頁 & 外賓來訪單頁。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/G/news-page?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_sno | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"news": [
{
"news_sno",
"title",
"intro",
"image_type",
"images": [
{
"title",
"link_uri"
}
],
"files": [
{
"title",
"link_uri"
}
],
"post_date",
"contact_info"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| image_type | 圖片版型選擇 1 橫式 2 直式 3 無圖 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news | |
| pt_link |
- content_type 必為 4
Update
2021/10/12
PTA19 - 最新消息_查詢結果列表
G - 最新消息。
僅有最新消息有搜尋bar。
※ 加入response >> menu_sno
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/G/news-search?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| s_query | string | 查詢pt_news.title, pt_news.intro, pt_news.hashtag |
| is_hashtag | true | 是否查詢 pt_news.hashtag |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page",
"s_query",
"news_result": [
{
"menu_sno",
"news_sno", // content_type = 4
"title",
"content_type",
"link_url", // content_type = 3
"file": { // content_type = 2
"title",
"link_uri"
},
"post_date"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| content_type | Pattern: 2 檔案型,須拿file; 3 連結型,須拿link_url; 4 內文型,須拿news_no -> PTA18 |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news | where %like% (pt_news.title, pt_news.intro, pt_news.hashtag) |
Update
2021/10/12
PTA20 - 成員及業務
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/employees?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ss_groups": [
{
"group_name",
"group_no",
"employees": [
{
"duties",
"username",
"position",
"phone",
"email",
"image": {
"title", //ss_pic_title
"link_uri" //from ss_pic
},
"ss_title",
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_position | |
| ss_group | |
| sch_emp | deptype = 2, is_enabled = 1 |
- 照 group_no 往下排序,各個 ss_groups 底下的 employees 再照 sch_emp.ss_order 排序
Update
2021/11/08
PTA21 - 姊妹校地圖
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-map?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ps_areas": [
{
"ps_continent", // ss_codemap,code的概念
"continent_sch_total",
"countries": [
{
"country_code",
"country_sch_total"
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 |
| ref_country | ps_sch.ps_area 對 ps_continent |
ps_continent --> ss_codemap (SSA03)
country_code --> ref_country (SSA05)
Update
2021/11/10
PTA22 - 姊妹校總覽
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-overview?_locale={locale}&_limit={limit}&_pageno={pageno}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| country_code |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page",
"schools": [
{
"country_code",
"sch_no",
"ch_name",
"en_name",
"built_year",
"link_url",
"address",
"intro"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
排序邏輯:QS -> 合約數 -> A~Z
Update
2021/11/10
PTA23 - 姊妹校檢索列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-search?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_no | ||
| cnt_item | 合作項目 | |
| continent_code | ||
| country_code | ||
| cnt_scope | 本校合作翻範圍,清單有校/院/系所 | |
| cnt_date_year | 簽約年 | |
| cnt_date_month | 簽約月 | |
| sch_name | 搜中英文校名 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"results": [
{
"ps_continent", //ss_codemap
"continent_sch_total",
"countries": [
{
"country_code",
"country_sch_total",
"schools": [
{
"ch_name",
"en_name",
"sch_no",
"pull_date",
"contracts": [
{
"cnt_name",
"cnt_name_en",
"cnt_date",
"cnt_scope",
"cnt_item",
}
]
}
]
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 contract_status = 1 |
| ss_sch | (ps_sch_contract.cnt_scope = ss_sch.code_key) |
| ss_codemap |
[前台] new的判斷邏輯:cnt_date 當下月 - 3個月, e.g 7-3=4就會從含4月呈現new
排序邏輯:
- results 照 ss_codemap.code_category = ps_continent 的 sort_no
- countries 照 country_code A -> Z
- schools 照 ps_sch.en_name A -> Z
- contracts 依序照 ps_sch_contract.cnt_name_en A -> Z
ps_sch_contract.cnt_date 新 -> 舊
ss_sch ORDER BY 院系名字 (_locale = zh-tw 時抓 ss_sch.ch_name,_locale = en 時抓 ss_sch.en_name)
ps_sch_contract.cnt_item 對 ss_codemap.code_category = ps_cnt_item 的 sort_no 排序
Update
2021/11/17 更新排序邏輯
PTA24 - 姊妹校檢索 簽約年份清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-cnt-date-years
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
cnt_date_years: []
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 contract_status = 1 |
日期排序由舊->新
Update
2021/11/17
PTA25 - 姊妹校檢索 學校交流新聞
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-school-news?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": [
{
"title",
"post_date",
"news_sno",
"content_type",
"menu_sno"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news | is_enabled = 1 lang_code ps_sch = sch_no |
依照 post_date 排序
Update
2021/11/16
PTA26 - 學校交換心得分享
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-school-share-results?_locale={locale}&_limit={limit}&_pageno={pageno}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_no | 交換學校 | |
| dep_no | 本校修讀系所 | |
| country_code | (交換) 國家 | |
| continent_code | change!! (交換) 洲別 | |
| s_query | 關鍵字搜尋 本校修讀系所名稱、交換學校名稱、(交換) 國家名稱 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page", //new!!
"share_results": [
{
"files": [ //oe_st url_share_result, share_result_file_path
{
"title",
"link_uri"
}
],
"term", // oe_project
"oe_department", // oe_st_wish.department 交換校修讀系所 (可能沒值,not required)
"country_code", // ps_sch (交換) 國家
"dep_no", // oe_st 本校修讀系所
"sch_no", // oe_st_wish 交換學校
"ch_name", //ps_sch 學校名字
"en_name"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| oe_st | public_url_share_result = 1 |
| oe_st_wish | is_enroll = Y |
| oe_project | |
| oe_st_wish_times | is_register = 1 (報到狀態) |
| ps_sch |
Update
2021/08/11 - publick_url_share_result = 1
2021/12/13 - 按照 term 排序新 -> 舊
PTA27 - 姊妹校檢索 學校資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-school?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"school": {
"sch_no",
"country_code",
"ch_name",
"en_name",
"intro",
"address",
"link_url",
"built_year"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
Update
2021/11/10
PTA28 - 姊妹校統計總覽
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-statistics
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ps_areas": [
{
"ps_continent",
"country_total",
"continent_sch_total",
"contracts": [
{
"cnt_item",
"cnt_total"
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 |
Update
2021/11/11
PTA29 - 姊妹校統計 地區統計列表
注意:須與 PTA91 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-region-statistics
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ps_continents": [
{
"ps_continent",
"continent_sch_total",
"countries": [
{
"country_code",
"country_sch_total"
}
],
"contracts": [
{
"cnt_item",
"cnt_total",
"lv_scopes": [ //ss_sch
{
"sch_lv",
"sch_cnt_total"
}
]
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| ps_sch | ps_status = 2 | |
| ps_sch_contract | is_main_cnt = 1 | |
| ss_sch |
- ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
- 計算 country_sch_total 時,除了學校 ps_sch.ps_status = 2 還需進一層判斷該學校的 ps_sch_contract 是否有合法的合約 (is_main_cnt = 1) 才能將該學校計入 country_sch_total
Update
2021/11/10
PTA30 - 姊妹校統計 校內統計列表
注意:須與 PTA92 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-college-statistics
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"colleges": [
{
"code_key",
"sch_cnt_total",
"country_cnt_total",
"col_cnt_total",
"departments": [
{
"code_key",
"total" // 學院/系所合作校數
}
],
"contracts": [
{
"cnt_item",
"cnt_total",
}
]
}
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| ps_sch | ps_status = 2 | |
| ps_sch_contract | is_main_cnt = 1 | |
| ss_sch | code_key != 9 |
ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
colleges 為學院 sch_lv = C (code_key != 9), departments 包含該學院底下的系所 (sch_lv = D) 和學院本身
sch_cnt_total = 學院合作校數
departments.total = 學院/系所合作校數
country_cnt_total = 學院合作國家數
col_cnt_total = 學院總合約數
Update
2021/11/10
2021/11/24 加上判斷 colleges 篩選 ss_sch code_key !== 9
PTA31 - 指定頁面新聞列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/foreign-guests?_locale={locale}&_limit={limit}&_pageno={pageno}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| post_date | 年份 | |
| menu_sno | ||
| post_date_month | 月份 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"meta_page",
"news": [
{
"title",
"post_date",
"news_sno",
"content_type"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| pt_news | is_enabled = 1 lang_code |
|
| pt_news_assigned_page | menu_sno |
request 的 post_date_month 跟 post_date 組合,post_date_month 可不帶
Update
2021/11/16
PTA32 - 指定頁面新聞年分列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/foreign-guests-years?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| menu_sno |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_dates": [ ] //轉換成年份YYYY
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_news | is_enabled = 1 lang_code |
| pt_news_assigned_page | menu_sno |
Update
2021/08/11 - add _locale
PTA33 - 學校交換心得分享 下載
Request範例
HTTP Request
GET {{frontapi.url}}/v1/pt/oe-share-dl?f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
<Byte [] Data>
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| oe_st | public_url_share_result = 1 |
Update
2021/08/11
PTA34 - 活動集錦
活動集錦。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/specialevents?locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"menu_sno",
"contents": [
{
"title",
"period",
"images": [
{
"title",
"link_uri"
}
]
}
]
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| pt_specialevents | |
| pt_link |
Update
2021/08/16
*PTA35 - 姊妹校數據統計檢索 (地區統計,校內統計用)
注意:須與 PTA93 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/sis-statistics-search?_locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| country_code | ||
| cnt_scope | 本校合作翻範圍,清單有校/院/系所 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"results": [
{
"country_code", // ps_sch
"school_ch_name", // ps_sch.ch_name
"school_en_name", // ps_sch.en_name
"pull_date",
"sch_no", // ps_sch_contract
"cnt_name",
"cnt_name_en",
"cnt_date",
"cnt_scope",
"cnt_item",
"scope_ch_name", // ss_sch.ch_name
"scope_en_name" // ss_sch.en_name
}
],
"contracts": [
{
"cnt_item",
"cnt_total",
"lv_scopes": [ //ss_sch
{
"sch_lv",
"sch_cnt_total"
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 |
| ref_country | (ps_sch.country = ref_country.country_code) |
| ss_sch | (ps_sch_contract.cnt_scope = ss_sch.code_key) |
| ss_codemap |
排序依序按照:
英文國名 ref_country.en_name A -> Z
英文校名 ps_sch.en_name A -> Z
院系所英文名 ps_sch_contract.cnt_name_en A -> Z
本校合作範圍 ss_sch ORDER BY 院系名字 (_locale = zh-tw 時抓 ss_sch.ch_name,_locale = en 時抓 ss_sch.en_name)
合作項目 ps_sch_contract.cnt_item 對 ss_codemap.code_category = ps_cnt_item 的 sort_no 排序
簽/續約日期 ps_sch_contract.cnt_date 新 -> 舊
Update
2021/11/10
2021/11/17 更新排序邏輯 & 回傳結構
2021/11/19 調換院系所排名 & 本校合作範圍排序順序
*PTA91 - 姊妹校統計 地區統計列表(圖書館用)
注意:須與 PTA29 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/lib-sis-region-statistics
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ps_continents": [
{
"ps_continent",
"ps_continent_ch_name", //new
"ps_continent_en_name", //new
"continent_sch_total",
"countries": [
{
"country_code",
"country_ch_name", //new
"country_en_name", //new
"country_sch_total"
}
],
"contracts": [
{
"cnt_item",
"cnt_item_ch_name", //new
"cnt_item_en_name", //new
"cnt_total",
"lv_scopes": [ //ss_sch
{
"sch_lv",
"sch_lv_ch_name", //new
"sch_lv_en_name", //new
"sch_cnt_total"
}
]
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| ps_sch | ps_status = 2 | |
| ps_sch_contract | is_main_cnt = 1 | |
| ss_sch |
- ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
- 計算 country_sch_total 時,除了學校 ps_sch.ps_status = 2 還需進一層判斷該學校的 ps_sch_contract 是否有合法的合約 (is_main_cnt = 1) 才能將該學校計入 country_sch_total
Update
2022/05/12
*PTA92 - 姊妹校統計 校內統計列表(圖書館用)
注意:須與 PTA30 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/lib-sis-college-statistics
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"colleges": [
{
"col_no",
"col_no_ch_name", //new
"col_no_en_name", //new
"sch_cnt_total",
"country_cnt_total",
"col_cnt_total",
"departments": [
{
"dept_no",
"dept_no_ch_name", //new
"dept_no_en_name", //new
"total" // 學院/系所合作校數
}
],
"contracts": [
{
"cnt_item",
"cnt_item_ch_name", //new
"cnt_item_en_name", //new
"cnt_total",
}
]
}
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description | |
|---|---|---|
| ps_sch | ps_status = 2 | |
| ps_sch_contract | is_main_cnt = 1 | |
| ss_sch | code_key != 9 |
ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
colleges 為學院 sch_lv = C (code_key != 9), departments 包含該學院底下的系所 (sch_lv = D) 和學院本身
sch_cnt_total = 學院合作校數
departments.total = 學院/系所合作校數
country_cnt_total = 學院合作國家數
col_cnt_total = 學院總合約數
Update
2022/05/12
*PTA93 - 姊妹校數據統計檢索 (地區統計,校內統計用)(圖書館用)
注意:須與 PTA35 同步邏輯
Request範例
HTTP Request
POST {{frontapi.url}}/v1/pt/A/lib-sis-statistics-search
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| country_code | (PTA91的country_code) | |
| cnt_scope | 本校合作翻範圍,清單有校/院/系所 (PTA92的dept_no) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"results": [
{
"country_code", // ps_sch
"country_ch_name", //new
"country_en_name", //new
"school_ch_name", // ps_sch.ch_name
"school_en_name", // ps_sch.en_name
"sch_no", // ps_sch_contract
"pull_date",
"cnt_name",
"cnt_name_en",
"cnt_date",
"cnt_scope",
"scope_ch_name", // ss_sch.ch_name
"scope_en_name", // ss_sch.en_name
"cnt_item",
"cnt_item_ch_name", //new
"cnt_item_en_name" //new
}
],
"contracts": [
{
"cnt_item",
"cnt_item_ch_name", //new
"cnt_item_en_name", //new
"cnt_total",
"lv_scopes": [ //ss_sch
{
"sch_lv",
"sch_lv_ch_name", //new
"sch_lv_en_name", //new
"sch_cnt_total"
}
]
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ps_sch | ps_status = 2 |
| ps_sch_contract | is_main_cnt = 1 |
| ref_country | (ps_sch.country = ref_country.country_code) |
| ss_sch | (ps_sch_contract.cnt_scope = ss_sch.code_key) |
| ss_codemap |
排序依序按照:
英文國名 ref_country.en_name A -> Z
英文校名 ps_sch.en_name A -> Z
院系所英文名 ps_sch_contract.cnt_name_en A -> Z
本校合作範圍 ss_sch ORDER BY 院系名字 (_locale = zh-tw 時抓 ss_sch.ch_name,_locale = en 時抓 ss_sch.en_name)
合作項目 ps_sch_contract.cnt_item 對 ss_codemap.code_category = ps_cnt_item 的 sort_no 排序
簽/續約日期 ps_sch_contract.cnt_date 新 -> 舊
Update
2022/05/12
QU 問卷系統
QUA01 - 取得問卷明細
Request範例
HTTP Request
POST {{frontapi.url}}/api/v1/qu/qu-question
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| url_key | Yes | 問卷url key |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"qu_main_sno":"",
"ch_name":"",
"en_name":"",
"ch_description":"",
"en_description":"",
"publish_start_date":"2021/01/01",
"publish_end_date":"2021/12/31",
"is_st_use":"1",
"url_key":"",
"qu_question_group":[{
"qu_question_group_sno":"",
"ch_group_name":"",
"en_group_name":"",
"ch_group_description":"",
"en_group_description":"",
"sort_no":"1",
"qu_question":[{
"qu_question_sno":"",
"ch_question":"",
"en_question":"",
"question_type":"",
"sort_no":"1",
"is_required":"1",
"qu_question_detail":[{
"qu_question_detail_sno":"",
"ch_question_detail":"",
"en_question_detail":"",
"sort_no":"1",
"has_other":"0",
}],
}],
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
is_st_use若為1則屬於學籍相關問卷,需要在回答儲存token辨識
Update
2021/08/24
QUA02 - 送出問卷(含刪除)
Request範例
HTTP Request
`POST {{frontapi.url}}/api/v1/qu/qu-answer
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| url_key | Yes | 問卷主檔編號 |
| token | Yes | 專屬token |
| ch_name | No | 中文姓名 |
| en_name | No | 英文姓名 |
| st_no | No | 學號 |
| gender | No | 性別代碼 |
| st_enroll_ident | No | 身分別代碼 |
| dep_no | No | 科所代碼 |
| prog_no | No | 學程代碼 |
| nationality | No | 國籍代碼 |
| qu_ans | Yes | 問卷回答列表 |
"qu_ans" : [{
"qu_question_sno":"",
"ans":"",
"other_ans":"",
}]
{
"url_key":"",
"token":"",
"gender":"",
"st_enroll_ident":"",
"dep_no":"",
"prog_no":"",
"nationality":"",
"qu_ans":[{
"qu_question_sno":"",
"ans":"",
"other_ans":"",
}]
}
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
Update
2021/08/24
QUA03 - 是否填寫問卷
Request範例
HTTP Request
`POST {{frontapi.url}}/api/v1/qu/qu-is-answer
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
| url_key | Yes | 問卷主檔編號 |
| token | No | 學生專屬token |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"is_ans":true,
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
檢查是否已填寫問卷
Update
2021/08/24
QUA04 - 取得url key
Request範例
HTTP Request
`POST {{frontapi.url}}/api/v1/qu/get-url-key
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| config_key | String | config_key |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"url_key":"13E3BE5C17A265A47EB6074002AC0D8F",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
從qu_config取得url key
Update
2021/09/16
QUA05 - 問卷登入
Request範例
HTTP Request
`POST {{frontapi.url}}/api/v1/qu/qu-login
Request
- Auth not Required
| Parameter | Type | Description |
|---|---|---|
| st_no | String | 學號 |
| password | String | 密碼 |
| qu_config_key | String | config_key |
QueryString or PathInfo
| Parameter | Required | Description |
|---|---|---|
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token":"",
"st_no":"496202098",
"ch_name":"",
"en_name":"",
"gender":"F",
"st_enroll_ident":"B",
"dep_no":"LU20",
"nationality":"7",
"url_key":"13E3BE5C17A265A47EB6074002AC0D8F",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
Update
2021/09/17
SS 系統管理
SSA03 - 取得代碼設定(ss_codemap)
Request範例
{
"prefix_categories" : ["st", "oia"]
}
HTTP Request
POST {{frontapi.url}}/v1/ss/codemap-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| prefix_categories | array[] | ["st", "oia"] |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"codemaps": {
"st_status": [
{
"code_key": "A",
"code_val_ch": "在校",
"code_val_en": " "
},
{
"code_key": "D",
"code_val_ch": "延畢",
"code_val_en": " "
},
{
"code_key": "K",
"code_val_ch": "保留入學",
"code_val_en": " "
},
{
"code_key": "S",
"code_val_ch": "休學",
"code_val_en": " "
},
{
"code_key": "W",
"code_val_ch": "退學",
"code_val_en": " "
},
{
"code_key": "G",
"code_val_ch": "畢業",
"code_val_en": " "
}
],
"oia_yn": [
{
"code_key": "1",
"code_val_ch": "是",
"code_val_en": "yes"
},
{
"code_key": "0",
"code_val_ch": "否",
"code_val_en": "no"
}
]
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_codemap |
Update
2021/05/18
SSA04 - 取得系所清單(ss_sch_dep)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ss/department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"dep_no": "EU00",
"col_no": "E",
"dept_no": "00",
"degree_no": "U",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "EM00",
"col_no": "E",
"dept_no": "00",
"degree_no": "M",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "ED00",
"col_no": "E",
"dept_no": "00",
"degree_no": "D",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "EU01",
"col_no": "E",
"dept_no": "01",
"degree_no": "U",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
{
"dep_no": "EM01",
"col_no": "E",
"dept_no": "01",
"degree_no": "M",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
{
"dep_no": "ED01",
"col_no": "E",
"dept_no": "01",
"degree_no": "D",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_sch_dep | |
| ss_sch |
ch_name跟en_name請拿ss_sch的值
Update
2021/12/20
SSA05 - 取得國家清單(ref_country)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ss/country-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"countries": [
{
"country_code",
"ch_name",
"en_name",
"contient",
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ref_country |
Update
2021/05/20
SSA06 - 取得短效期token
用access_token來交換效期 1 mins的短效token, 做前台圖片/檔案預覽使用。
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ss/preview-token
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"preview_token": "xsdfgdhfjgkhloiuyetwrwqetytuyk",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| (N/A) |
Update
2021/05/25
SSA07 - 取得系所清單(依申請系所限制)
依照申請系所限制/合約範圍(ps_cnt_scope / cnt_scope)取得對應系所清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ss/department-list-by-scope
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| cnt_scope | string | ie_st.ps_cnt_scope / ps_sch_contract.cnt_scope |
| degree_no | string | U:學士 / M: 碩士 / D: 博士 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"dep_no": "EU00",
"col_no": "E",
"dept_no": "00",
"degree_no": "U",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "EM00",
"col_no": "E",
"dept_no": "00",
"degree_no": "M",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "ED00",
"col_no": "E",
"dept_no": "00",
"degree_no": "D",
"ch_name": "教育學系",
"en_name": "Department of Education"
},
{
"dep_no": "EU01",
"col_no": "E",
"dept_no": "01",
"degree_no": "U",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
{
"dep_no": "EM01",
"col_no": "E",
"dept_no": "01",
"degree_no": "M",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
{
"dep_no": "ED01",
"col_no": "E",
"dept_no": "01",
"degree_no": "D",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_sch | |
| ss_sch_dep |
- degree_no = ss_sch_dep.degree_no
- cnt_scope = ss_sch.code_key (ss_sch是有父子關係的table, 如果找到的code_key有對應的子項目也都要撈出來)
- ch_name跟en_name請拿ss_sch的值
Update
2021/12/20
SSA08 - 取得院系清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/ss/col-department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sch_lv | 無則回傳完整列表 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"ch_name",
"en_name",
"code_key",
"sch_lv"
}
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| ss_sch | is_enabled = 1 |
Update
2021/07/21
TP 外國轉學生申請入學系統
TPA01 - 取得TP參數設定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/config
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"config": {
"tp_xxxxxx",
"tp_xxxxxx",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_config | is_enable=1 |
| tp_ckeditor | is_enable=1 |
Update
2021/09/29
TPA02 - 取得首頁資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/index-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"tp_calendar_ch",
"tp_calendar_en",
"tp_scholarship_ch_title",
"tp_scholarship_en_title",
"tp_scholarship_ch_desc",
"tp_scholarship_en_desc",
"tp_scholarship_ch_link",
"tp_scholarship_en_link",
"index_helper": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"index_bg": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"tp_notice_ch",
"tp_notice_en",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_config | |
| tp_ckeditor | |
| tp_link |
- index_helper(小幫手檔案): table=tp_link, ref_column=index_helper
- index_bg(背景主圖): table=tp_link, ref_column=index_bg
- tp_calendar_ch, tp_calendar_en, tp_notice_ch, tp_notice_en來自tp_ckeditor; 其餘來自tp_config
Update
2021/10/13
TPA03 - 取得可報名專案列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/project-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"tp_projects": [{
"proj_no",
"apply_season",
"proj_name",
"proj_en_name",
"term",
"proj_year",
"apply_start_at",
"apply_end_at",
"displayed_apply_end_at",
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_project | is_index_visible=1 |
| tp_project_dep | tp_project.proj_no =tp_project_dep.proj_no |
- apply_end_at = tp_project_dep.exam_end_at 取最大值, 如果沒有值再拿tp_project.apply_end_at => 可開放申請的時間
- displayed_apply_end_at = apply_end_at => 顯示在畫面上的截止日
Update
2022/01/10
TPA04 - 取得招生簡章
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/prospectus
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"ch_prospectus": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"en_prospectus": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_prospectus | |
| tp_link |
- select tp_prospectus: 在公告日期區間(exposure_start_at/exposure_end_at)且顯示於首頁(is_index_visible=1), 取公告日期起始日(exposure_start_at)日期最大的一筆
- ch_prospectus(中文簡章): table=tp_link, ref_column=ch_prospectus
- en_prospectus(英文簡章): table=tp_link, ref_column=en_prospectus
Update
2021/09/29
TPA07 - 取得公告列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/news-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_list": [{
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"content_type",
"link",
"upload_files":[{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_news | |
| tp_link |
- 需判斷現在時間介於exposure_start_at, exposure_end_at之間
Update
2021/09/29
TPA08 - 取得單筆公告
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/single-news
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": {
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"content_type",
"link",
"upload_files":[{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| np_news | |
| np_link |
Update
2021/09/29
TPA09 - 申請帳號
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/register
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | |
| apply_dep | string | 對應到ss_sch_dep.dep_no(4碼) |
| degree_no | string | U/M/D (ss_codemap:oia_sch_degree_no) |
| apply_section | string | 對應到tp_section.serialno |
| passport_no | string | |
| string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1008 找不到 ss_sch_dep
TP1010 找不到 tp_section
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- apply_no = 第一碼固定是3+學年末碼(e.g. 106年取6)+系所代碼2碼+系所組別碼+季別(1:秋, 2:春)+流水碼2碼
- '3' + tp_project.term末碼 + ss_sch_dep.dept_no + apply_section + tp_project.apply_season + 流水碼2碼(需取前面6碼數字相同的流水碼最大值+1)
- 密碼規則 = passport_no 末6碼
- insert tp_st: proj_no, apply_no, password, passport_no, email, apply_dep, degree_no, apply_season, apply_section,
need_en_taughtneed_en_taught的值來自tp_regulation.lang_instruction, 規則跟TPA05的判斷類似,如果是en, 則need_en_taught='Y', 不是的話, need_en_taught='N'
lang_code對應tp_regulation.lang_instructionlang_instruction=1 & 2 : enlang_instruction=3 : chlang_instruction=4 : 看tp_section.lang_instruction
- 寄送通知信, 先寄帳號密碼出來, 信件內容會跟承辦人要
- 需判斷同一個護照號碼(passport_no), 不能申請同一個專案(proj_no)、系所(apply_dep)
TP不需要need_en_taught
Update
2021/10/14
TPA10 - 登入
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | |
| password | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1001 登入失敗
TP1009 連續登入失敗
TP1031 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_project |
- 檢查帳號密碼是否符合,且專案是否為可報名專案 select from tp_st left join tp_project where apply_no={apply_no} and password={password} and tp_project.is_index_visible=1
- 檢查登入錯誤3次就鎖定600秒無法登入(錯誤次數跟鎖定秒數從ss_config來, oia_login_error_times & oia_login_lock_time)
- 登入失敗時更新tp_st: error_times+1 & login_time=now()
- 登入成功時更新tp_st: login_time=now() & login_success_time=now() & error_times=0
Update
2021/09/29
TPA11 - 發送忘記密碼
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/send-password-email
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | |
| apply_dep | string | 對應到ss_sch_dep.dep_no(4碼) |
| degree_no | string | U/M/D (ss_codemap:oia_sch_degree_no) |
| passport_no | string | |
| string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1012 找不到 tp_project
TP1013 重寄密碼信-驗證錯誤
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 看tp_st是否有符合資料的學生, 沒有回錯誤碼
- 寄送帳密通知信, 同TPA09
Update
2021/09/29
TPA12 - 取得線上申請進度&申請資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status",
"apply_filled_at",
"apply_printed_at",
"payment_paid_at",
"payment_end_at",
"apply_at",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1005 尚未開放線上申請
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_project |
- payment_end_at = tp_project_dep.exam_end_at(有值優先;tp_st.apply_dep=tp_project_dep.dep_no) 或 tp_project.apply_end_at
- 可進入條件:
- 報名時間內: tp_project.apply_start_at & payment_end_at
- 待補件狀態tp_st.apply_status=3
- 上面兩個條件2擇1, 如果都不符合則回error code (此功能尚未開放)
webfront
- apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
- 出現error code顯示"此功能尚未開放"
- 前台線上申請流程: 填寫申請表 → 繳費 → 上傳推薦信 → 上傳檔案(列印申請表) → 送出
Update
2021/09/29
TPA13 - 取得線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_end_at",
"apply_season",
"degree_no",
"apply_dep",
"apply_section",
"apply_no",
"passport_no",
"ch_name",
"en_name",
"gender",
"birthday",
"birth_place",
"nationality",
"tel",
"cellphone",
"email",
"address_now",
"father_name",
"father_birthday",
"father_nationality",
"monther_name",
"monther_birthday",
"monther_nationality",
"ap_contact_name",
"ap_contact_relationship",
"ap_contact_tel",
"is_university_lecturer",
"university_name",
"position_name",
"q1",
"ch_year",
"ch_month",
"ch_env_1",
"ch_env_2",
"ch_env_3",
"ch_env_4",
"ch_env_5",
"ch_env_4_name",
"ch_env_5_name",
"q4",
"ch_test_1",
"ch_test_2",
"ch_test_3",
"ch_test_1_score",
"ch_test_2_score",
"ch_test_3_score",
"ch_listening",
"ch_speaking",
"ch_reading",
"ch_writing",
"en_qualification",
"en_test_1",
"en_test_2",
"en_test_3",
"en_test_4",
"en_test_1_score",
"en_test_2_score",
"en_test_3_score",
"en_test_4_score",
"en_listening",
"en_speaking",
"en_reading",
"en_writing",
"educations": [{
"degree_no",
"school_name",
"city_country",
"major",
"minor",
"degree",
"granted_date",
}],
"admissions": [{
"admission_no",
"admission_other",
}],
"proj": {
"proj_no",
"proj_name",
"proj_en_name",
"proj_year",
"apply_season",
},
"section": {
"serialno",
"ch_section",
"en_section",
"lang_instruction",
},
"st_scholarship_most",
"st_scholarship_mofa",
"st_scholarship_tw_now_syyyy",
"st_scholarship_tw_now_smm",
"st_scholarship_tw_now_eyyyy",
"st_scholarship_tw_now_emm",
"st_scholarship_icdf",
"st_scholarship_esit",
"esit_detail",
"st_scholarship_other",
"st_scholarship",
"now_school_name",
"now_dep_name",
"now_degree_no",
"now_grade",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_project | |
| tp_st_edu | |
| tp_st_admission | |
| tp_section |
- apply_end_at來自tp_project; educations來自tp_st_edu; admissions來自tp_st_admission; 其餘來自tp_st
- apply_end_at = ap_project_dep.exam_end_at(有值優先;ap_st.apply_dep=ap_project_dep.dep_no) 或 ap_project.apply_end_at
Update
2022/01/06
TPA14 - 編輯線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/edit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| ch_name | ||
| en_name | ||
| gender | ||
| birthday | ||
| birth_place | ||
| nationality | ||
| tel | ||
| cellphone | ||
| address_now | ||
| father_name | ||
| father_birthday | ||
| father_nationality | ||
| monther_name | ||
| monther_birthday | ||
| monther_nationality | ||
| ap_contact_name | ||
| ap_contact_relationship | ||
| ap_contact_tel | ||
| is_university_lecturer | ||
| university_name | ||
| position_name | ||
| q1 | ||
| ch_year | ||
| ch_month | ||
| ch_env_1 | ||
| ch_env_2 | ||
| ch_env_3 | ||
| ch_env_4 | ||
| ch_env_5 | ||
| ch_env_4_name | ||
| ch_env_5_name | ||
| q4 | ||
| ch_test_1 | ||
| ch_test_2 | ||
| ch_test_3 | ||
| ch_test_1_score | ||
| ch_test_2_score | ||
| ch_test_3_score | ||
| ch_listening | ||
| ch_speaking | ||
| ch_reading | ||
| ch_writing | ||
| en_qualification | ||
| en_test_1 | ||
| en_test_2 | ||
| en_test_3 | ||
| en_test_4 | ||
| en_test_1_score | ||
| en_test_2_score | ||
| en_test_3_score | ||
| en_test_4_score | ||
| en_listening | ||
| en_speaking | ||
| en_reading | ||
| en_writing | ||
| educations | [<TP_ST_EDU>] | |
| admissions | [<TP_ST_ADMISSION>] | |
| st_scholarship_most | ||
| st_scholarship_mofa | ||
| st_scholarship_tw_now_syyyy | ||
| st_scholarship_tw_now_smm | ||
| st_scholarship_tw_now_eyyyy | ||
| st_scholarship_tw_now_emm | ||
| st_scholarship_icdf | ||
| st_scholarship_esit | ||
| esit_detail | ||
| st_scholarship_other | ||
| st_scholarship | ||
| now_school_name | ||
| now_dep_name | ||
| now_degree_no | ||
| now_grade |
<TP_ST_EDU>
| Parameter | Type | Description |
|---|---|---|
| degree_no | ||
| school_name | ||
| city_country | ||
| major | ||
| minor | ||
| degree | ||
| granted_date |
<TP_ST_ADMISSION>
| Parameter | Type | Description |
|---|---|---|
| admission_no | ||
| admission_other |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_st_edu | |
| tp_st_admission |
- 送出時, 更新tp_st: apply_filled_at=now(), md5_code (md5規則參考舊程式src\tw\edu\ntnu\istudent\checkAPP.java的checkAP303MD5)
Update
2021/10/04
TPA15 - 進行線上申請繳費
Request範例
HTTP Request
GET {{frontapi.url}}/v1/tp/pay?token={preview_token}&pay_type={pay_type}&locale={locale}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| pay_type | string | A: 信用卡, C: WebATM, D: 臨櫃繳費單, G: 超商繳費單 |
| token | string | from SSA06 preview_token |
| locale | string | en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
跳轉到付款頁
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1030 已付款
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getVaccNo, 將回傳的vaccNo更新tp_st.vacc_no (* 如果tp_st.vacc_no已存在, 則不再取新的vacc_no)
- fee = 報名費 + 美術系加考術科費用tp_project.art_fees_nt (tp_section.exam_art='Y'才需要術科費用)
- 報名費 = tp_project.b_fees_nt[tp_st.degree_no='U'] 或 tp_project.m_fees_nt[tp_st.degree_no='M'] 或 tp_project.d_fees_nt[tp_st.degree_no='D']
- vaccNo = 49849(ss_config.oia_vacc_base_no) + 報名管道代碼(tp_config.tp_payment_activity_no) + 學期別 + 招生年度後二碼 + 流水碼4碼
- 學期別: tp_project.apply_season
- 招生年度: tp_project.term
- call service: doPay 直接轉導到付款頁 (將service param存在tp_st.payment_request)
- vacc14 = tp_st.vacc_no
- payType = pay_type
- fee = step1計算出的fee
- dueDate = tp_project_dep.exam_end_at(有值優先;tp_st.apply_dep=tp_project_dep.dep_no) 或 tp_project.apply_end_at (格式為 YYYYMMDD, 例如: 20131230)
- paymentName = tp_config.tp_payment_name
- paymentUser = tp_st.apply_no
- paymentUserNAME = tp_st.en_name
- oiaReturnUrl = TPA16 's URL
- update tp_st:
- vacc_no
- pay_currency='NT'
- fees_nt=step1計算出的fee
- pay_kind='7'
- payment_type=pay_type
- payment_request
- payment_start_at=now()
- insert ss_log:
- eno=-1
- category='TP'
- action='TPA15'
- data= apply_no, vacc_no, pay_currency, fees_nt, pay_kind, payment_type, payment_request, payment_start_at(將tp_st的這些欄位以json格式儲存)
Update
2021/11/30
TPA16 - 繳費交易完成回導頁
師大payment gateway直接回導, 僅能用GET
Request範例
HTTP Request
GET {{frontapi.url}}/v1/tp/payment-completed/{vacc_no}/{locale}?SRC={}&BRC={}&URLResEnc={}&TYP={}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| vacc_no | string | 虛擬帳號(tp_st.vacc_no) |
| locale | string | en | zh-tw |
| SRC | string | 金流回覆碼 |
| BRC | string | |
| URLResEnc | string | (加密資訊) |
| TYP | string |
Response
轉導到前端頁面: ss_config.oia_domain_webfront + tp_config.tp_payment_webfront_return_path
Response Error Codes
TP1003 找不到 tp_st
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 一進來將收到的request存到ss_log (eno=-1, category='TP', action='TPA16', data=request參數), 程式不做任何處理先存
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getPaymentResult
- update tp_st:
- payment_src = SRC
- payment_response = {"SRC": ,"BRC": ,"URLResEnc": ,"TYP": } (20220711改不更新此值)
- vacc_state = from step1 service
- real_receive_fees=tp_st.fees_nt [SRC=00才更新]
- payment_paid_at=now() [SRC=00才更新]
- receive_pay_day=now() (format: YYYY/MM/DD) [SRC=00才更新]
- insert ss_log:
- eno=-1
- category='TP'
- action='TPA16'
- data= apply_no, vacc_no, pay_currency, fees_nt, pay_kind, payment_type, payment_request, payment_start_at, payment_src, payment_response, vacc_state, real_receive_fees, payment_paid_at, receive_pay_day(將tp_st的這些欄位以json格式儲存)
Update
2022/07/11
TPA17 - 取得繳費結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/payment-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"apply_no",
"vacc_no",
"vacc_state",
"fees_nt",
"real_receive_fees",
"pay_currency",
"pay_kind",
"receive_pay_day",
"payment_src",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- call service: getPaymentResult
- update tp_st:
- vacc_state = from step1 service
Update
2021/12/16
TPA22 - 列印線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/print-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
return PDF file
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_st_edu | |
| tp_st_admission |
- 產出線上申請單格式
- 更新tp_st.apply_printed_at = now()
Update
2021/09/29
TPA23 - 取得線上申請附件清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-docs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"dep_docs": [{
"doc_no",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"md5_code",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
Logic
TABLE
| table | Description |
|---|---|
| tp_common_doc | |
| tp_dep_doc | |
| tp_project | |
| tp_st | |
| tp_st_doc | |
| tp_link |
- 先取得需上傳的檔案清單:
- docs: tp_common_doc(tp_common_doc.proj_no=tp_st.proj_no)
- dep_docs: tp_dep_doc(tp_dep_doc.dep_no=tp_st.apply_dep, reg_version=tp_project_dep.reg_version)
- upload_file欄位是來自tp_st_doc學生有上傳的附件
- 需過濾掉doc_no=100的資料, 因其移到TPA29去更新
- md5_code來自tp_st, 回傳給前台顯示左4碼+"-"+右4碼(同TPA22)
webfront
- docs: doc_no對應codemap: tp_doc_no
- dep_docs: doc_no對應codemap: tp_dep_doc_no; 但因為會有系所自訂繳交資料的情況,所以當對不到doc_no的時候,就直接顯示ch_title or en_title
Update
2021/09/29
TPA24 - 上傳線上申請附件
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/upload-application-docs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"doc_no",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1017 doc_no 錯誤
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_st_doc | |
| tp_link |
- 附件儲存路徑 /ap/proj/{tp_project.proj_no}/apply/{tp_st.apply_no}/{tp_st_doc.doc_no}.ext
Update
2021/09/29
TPA25 - 送出線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/submit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 送出時, 更新tp_st: apply_status = '0' & apply_at=now()
Update
2021/09/29
TPA26 - 取得審查結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-result
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status_dep",
"ar_status",
"backup_serial",
"proj": {
"proj_no",
"proj_name",
"proj_en_name",
"proj_year",
"apply_season",
"term",
},
"apply_dep",
"apply_no",
"ch_name",
"en_name",
"dep": {
"dep_no": "ED01",
"col_no": "E",
"dept_no": "01",
"degree_no": "D",
"ch_name": "教育心理與輔導學系",
"en_name": "Department of Educational Psychology and Counseling"
},
"section": {
"serialno",
"ch_section",
"en_section",
"lang_instruction",
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1018 未開放審查結果
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_project | |
| ss_sch_dep | |
| ss_sch |
- 判斷目前是否介於result_start_at, result_end_at之間, 不符合回error code
- 回傳dep結構, 系所是apply_dep(ch_name跟en_name請拿ss_sch的值)
Update
2021/12/20
TPA27 - 空號
TPA28 - 取得專案可報名的系所&組別
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/department-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| proj_no | string | 專案編號 |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"departments": [
{
"col_no": "E",
"dept_no": "00",
"ch_name": "教育學系",
"en_name": "Department of Education",
"deps": [
{
"dep_no": "EU00",
"col_no": "E",
"dept_no": "00",
"degree_no": "U",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": [
{
"serialno": "1",
"ch_section": "中文組別名稱",
"en_section": "section english name",
"lang_instruction": "1",
}
],
"apply_end_at",
},
{
"dep_no": "EM00",
"col_no": "E",
"dept_no": "00",
"degree_no": "M",
"ch_name": "教育學系",
"en_name": "Department of Education",
"sections": [
{
"serialno": "1",
"ch_section": "中文組別名稱",
"en_section": "section english name",
"lang_instruction": "1",
}
],
"apply_end_at",
},
]
},
],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_project | is_index_visible=1 |
| tp_project_dep | is_enrolled=1 |
| tp_section | reg_version=tp_project_dep.reg_version |
| ss_sch | is_enabled=1 |
| ss_sch_dep | is_enabled=1 |
- tp_section要拿reg_version=tp_project_dep.reg_version
- deps的ch_name跟en_name請拿ss_sch的值
- 需判斷tp_project_dep.exam_end_at是否大於目前時間, 如果tp_project_dep.exam_end_at沒有值, 那個科系就是用tp_project.apply_end_at來判斷
- apply_end_at = ap_project_dep.exam_end_at, 如果沒有值再拿ap_project.apply_end_at
Update
2022/01/10
TPA30 - 取得繳費金額
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/payment-fees
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"fees_nt",
"fees_us",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
Logic
TABLE
| table | Description |
|---|---|
| tp_project | |
| tp_section | |
| tp_st |
- fees_nt = 報名費 + 美術系加考術科費用tp_project.art_fees_nt (tp_section.exam_art='Y'才需要術科費用)
- 報名費 = tp_project.b_fees_nt[tp_st.degree_no='U'] 或 tp_project.m_fees_nt[tp_st.degree_no='M'] 或 tp_project.d_fees_nt[tp_st.degree_no='D']
- 以上是fees_nt的算法, fees_us規則一樣, 只是改取xxx_us的值
Update
2021/09/29
TPA31 - 取得圖片/檔案內容
此為公開檔案, 用於前台最新消息、中英文簡章、首頁小幫手檔案與背景主圖
Request範例
HTTP Request
GET {{frontapi.url}}/v1/tp/dl?id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| id | int | tp_link.entity_id |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| tp_link |
- 需檢查tp_link: entity_id={entity_id} 且ref_table != (tp_st or tp_st_doc)
- 需處理中文檔名&檔名包含空白問題
Update
2021/09/29
TPA32 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上申請
Request範例
HTTP Request
GET {{frontapi.url}}/v1/tp/private-dl?token={preview_token}&id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| id | int | tp_link.entity_id |
Response
return binary file
Response Error Codes
M2003 token過期
S9920 token解析失敗時
Logic
TABLE
| table | Description |
|---|---|
| tp_link | |
| tp_st |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案
- 需處理中文檔名&檔名包含空白問題
Update
2021/09/29
TPA37 - 取得一次報到身分資格(正取生或備取生)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-status
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status", // tp_st
"apply_no",
"is_register",
"ch_name",
"en_name",
"progress_status", // 完成步驟填寫狀態
"is_register_date",
"willing"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_project | tp_st.proj_no = tp_project.proj_no |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間 (開放報名時間),不在則回錯誤碼
[前台]
- Step1: 我確定報到皆可進入該頁面,無意願就讀
- Step2: 需填寫過 Step1,progress_status >= 1
- Step3: 需填寫過 Step2,progress_status >= 2
- Step4: 需填寫過 Step3,progress_status >= 3
Update
2021/09/08
TPA39 - 送出正取生報到意願
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-approve
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | codemaps.tp_is_register |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=1 正取 is_register=0 尚未報到 |
| tp_project |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- 更新 tp_st.is_register,並且根據 request 做以下處理:
如果 request is_register = 2,需額外更新 tp_st.is_register_date = 今天
如果 request is_register = 1,則在 tp_st_studata 增加一筆資料 (apply_no, proj_no),且加入 tp_st.apply_letter_no - apply_letter_no 編碼規則:每個專案從 E000 開始往上加 (E000, E001...)
Update
2021/09/28
更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
TPA40 - 送出正取生報到問卷
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/edit-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_no | 個人保險 | |
| twcnt_name | 在台灣的聯絡人 姓名 | |
| twcnt_relation | 在台灣的聯絡人 關係 | |
| twcnt_tel | 在台灣的聯絡人 聯絡電話 | |
| twcnt_cellphone | 在台灣的聯絡人 聯絡手機 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=1 正取 is_register=6 有意願報到 |
| tp_project |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- Request 欄位更新在 tp_st
- 若 tp_st.progress_status < 1,則壓 progress_status = 1
Update
2021/09/28
- 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
- Request 移除 acp1
TPA41 - 取得正取生報到問卷
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"is_no",
"twcnt_name",
"twcnt_relation",
"twcnt_tel",
"twcnt_cellphone"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
TP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
Update
2021/09/28
- Response 移除 acp1
TPA42 - 送出正取生學籍資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/edit-st
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file,not required |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| visa_no | 居留證號碼 | |
| gra_sch_name | 入學前畢業學校 | |
| gra_sch_date | 入學前畢業日期 | |
| comm_address | 通訊地址 | |
| house_address | 戶籍地址 | |
| mobile | 手機 | |
| day_contact | 日間電話 | |
| night_contact | 夜間電話 | |
| 電子信箱 | ||
| emergency_person | 緊急聯絡人姓名 | |
| emergency_relation | 與緊急聯絡人關係 | |
| emergency_mobile | 緊急聯絡人手機 | |
| emergency_contact | 緊急聯絡人日間電話 | |
| emergency_remark | 備註 | |
| comm_address_zip | 通訊地址郵遞區號 | |
| house_address_zip | 戶籍地址郵遞區號 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
TP1025 找不到 tp_st_studata
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=1 正取 is_register=6 有意願報到 |
| tp_st_studata | |
| tp_link |
- profile_image 附件儲存路徑 /tr/profile_image/{tp_st.proj_no}/{tp_st.apply_no}.副檔名
- req 欄位更新在 tp_st_studata profile_image 更新 tp_link,ref_column=profile_image,另圖片上傳成功時 tp_st_studata.pic_mk 設成 Y (codemaps.tp_studata_pic_mk)
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
- 若 tp_st.progress_status < 2,則壓 progress_status = 2
Update
2021/09/28
- 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
- 更改 profile_image 位置 /ar/profile_image/{tp_st.apply_no}.副檔名
- reqest 加上 comm_address_zip & house_address_zip
2021/10/15
更新 profile_image 附件儲存路徑
TPA43 - 取得正取生學籍資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-st
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"profile_image": { // tp_link
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"apply_no",
"ch_name",
"en_name",
"apply_dep",
"degree_no",
"section": { // tp_section
"serialno",
"ch_section",
"en_section",
},
"gender",
"birthday",
"visa_no", //tp_st_studata
"nationality",
"gra_sch_name", //以下皆tp_st_studata
"gra_sch_date",
"comm_address",
"house_address",
"mobile",
"day_contact",
"night_contact",
"email",
"emergency_person",
"emergency_relation",
"emergency_mobile",
"emergency_contact",
"emergency_remark",
"comm_address_zip",
"house_address_zip"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
TP1025 找不到 tp_st_studata
TP1026 不在 enroll_second_start_at enroll_second_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_link | ref_column=profile_image |
| tp_section | tp_st.apply_section = tp_section.serialno, tp_st.apply_dep = tp_section.dep_no |
| tp_st_studata |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
- profile_image:tp_link
- section:tp_section
- visa_no 和 gra_sch_name 以下的欄位:tp_st_studata
Update
2021/09/28
- response 加上 (tp_st_studata) comm_address_zip & house_address_zip
TPA44 - 送出申請學校宿舍資料 (宿舍系統)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/edit-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| dorm_mk | tp_st_studata | |
| post_no | 學生宿舍 郵局局號 PostOfficeNo | |
| post_acc | 學生宿舍 郵局帳號 PostOfficeAccount | |
| dormwill_1 | 學生宿舍 志願一 DormWill1 | |
| dormwill_2 | 學生宿舍 志願二 DormWill2 (not required) | |
| dormwill_3 | 學生宿舍 志願三 DormWill3 (not required) | |
| dormwill_4 | 學生宿舍 志願四 DormWill4 (not required) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=1 正取, is_register=6 有意願報到 |
| tp_st_studata |
若 tp_st.progress_status < 3,則壓 progress_status = 3
dorm_mk 寫入 tp_st_studata,其他依據 dorm_mk 判斷:
dorm_mk = Y,先確認該學生是否有宿舍資料,若無則新增一筆,若有則更新
dorm_mk = N,若無資料則不新增,若有則修改宿舍資料成空值 (前端一律傳所有欄位)
Update
2021/09/28
更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
TPA45 - 取得申請學校宿舍資料 (宿舍系統)
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-dorm
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"dorm_mk", // tp_st_studata
"post_no", // dormitory
"post_acc",
"dormwill_1",
"dormwill_2",
"dormwill_3",
"dormwill_4",
"dorms":[
{
"code_key": "F1",
"code_val_ch": "女一舍(校本部)",
"code_val_en": "Women's Dorm 1 @ Main Campus"
}
]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_st_studata |
dorm_mk 來自 tp_st_studata,其他來自學生宿舍
dorms 撈 取回宿舍列表(名額限制) 這支
Update
2021/09/08
TPA46 - 送出備取生登陸遞補意願
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/waitinglist-approve
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| willing |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=2 備取 |
| tp_project |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
- 更新 tp_st.willing,tp_st.willing_date=今天
Update
2021/08/24
TPA49 - 送出正取生線上報到
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/application-register
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
TP1002 token類型不合法
TP1003 找不到 tp_st
TP1012 找不到 tp_project
TP1020 不在 enroll_start_at enroll_end_at 時間區間內
Logic
TABLE
| table | Description |
|---|---|
| tp_st | ar_status=1 正取 is_register=6 有意願報到 |
| tp_project |
- 更新 tp_st.is_register_date = 今天 和 is_register = 1
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
- 若 tp_st.progress_status < 4,則壓 progress_status = 4
Update
2021/09/28
- 加上更新 tp_st.is_register = 1
- 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
TPA51 - 取得正取生問卷學生資料
Request 範例
HTTP Request
POST {{frontapi.url}}/v1/tp/survey-st-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"gender",
"nationality",
"apply_dep",
"apply_no",
"proj_no"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_st |
- 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
Update
2021/09/15
TPA52 - 取得缺件文件清單
缺件連結使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/lack-docs
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| upload_key | string | |
| apply_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"apply_status",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"dep_docs": [{
"doc_no",
"apply_status",
"ch_title",
"en_title",
"ch_description",
"en_description",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}],
"md5_code",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_common_doc | |
| tp_dep_doc | |
| tp_project | |
| tp_st | |
| tp_st_doc | |
| tp_link |
- 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
- 取得tp_st_doc.apply_status=3(待補件)
跟''(tp_st_doc不存在)的文件 - tp_dep_doc需要拿reg_version=tp_project_dep.reg_version的那組資料
Update
2021/10/04
TPA53 - 上傳缺件文件
缺件連結使用
Request範例
HTTP Request
POST {{frontapi.url}}/v1/tp/update-lack-docs
Request
- Auth Not Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String | |
| upload_key | string | |
| apply_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"doc_no",
"apply_status",
"upload_file":{
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_st | |
| tp_st_doc | |
| tp_link |
- 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
- 附件儲存路徑 /ap/proj/{tp_project.proj_no}/apply/{tp_st.apply_no}/{tp_st_doc.doc_no}.ext
- 如果doc_no='115'(推薦信), 要寫入tp_st_recomm (name='BDS', email='x', info='x', sending_status=-1, writing_status=1), tp_link存的檔案路徑規則跟ref_table等要依照TPA34的規則
- 上傳文件後要更改審查狀態tp_st_doc.apply_status=0(未審查)
Update
2022/01/26
TPA54 - 取得需驗證身分檔案/圖片(補件使用)
此檔案需驗證登入者身分, 使用upload_key跟apply_no做驗證, 用於前台補件頁面
Request範例
HTTP Request
GET {{frontapi.url}}/v1/tp/lack-docs-dl?upload_key={upload_key}&apply_no={apply_no}&id={entity_id}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| upload_key | string | tp_st.upload_key |
| apply_no | string | tp_st.apply_no |
| id | int | tp_link.entity_id |
Response
return binary file
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| tp_link | |
| tp_st |
- 需檢查upload_key跟apply_no是否符合, 且圖片確實為該登入者上傳檔案
- 需處理中文檔名&檔名包含空白問題
Update
2021/10/04
VS 校級來校訪問生系統
VSA01 - 取得專案資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/project-info
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"proj_no",
"proj_name",
"proj_name_en",
"term",
"apply_season",
"proj_year",
"proj_season",
"paper_title",
"paper_footer",
"apply_start_at",
"apply_end_at",
"anno_start_at",
"anno_end_at",
"result_start_at",
"result_end_at",
"enroll_start_at",
"enroll_end_at",
"review_start_at",
"review_end_at",
"review_second_start_at",
"review_second_end_at",
"exchange_term_start_at",
"exchange_term_end_at",
"exchange_year_start_at",
"exchange_year_end_at",
"docs": [{
"doc_no",
"title"
}],
"remark"
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_project | |
| vs_common_doc | |
| ss_codemap |
- 取得主要專案資訊 (vs_project.ismain=1)
- proj_name_en = "{proj_year} {proj_season} Incoming Visiting Student Program" (proj_season系統是存小寫, 請將第一個字母變大寫)
2023/01/11 多回傳review_second_start_at, review_second_end_at 2023/06/06 多回傳proj_year, proj_season, proj_name_en
Update
2023/06/06
VSA02 - 取得下載檔案列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/download-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"files": [{
"title",
"original_filename",
"link_uri",
"link_data",
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_project | vs_project.ismain=1 |
| vs_brochure |
Update
2021/06/01
VSA03 - 取得公告列表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/news-list
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| sys_type | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news_list": [{
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_news | |
| vs_link |
- 需判斷現在時間介於exposure_start_at, exposure_end_at之間
Update
2021/06/01
VSA04 - 取得單筆公告
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/single-news
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| news_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"news": {
"news_no",
"maker",
"ch_title",
"en_title",
"exposure_start_at",
"exposure_end_at",
"ch_detail",
"en_detail",
"sys_type",
"content_type",
"link",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
"sort_no",
"created_at",
"updated_at"
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_news | |
| vs_link |
Update
2021/06/01
VSA05 - 取得線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/application-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"sch_no",
"profile_image": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"educations": [{
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
}],
"is_ch_native_speaker",
"is_native_chinese",
"learn_chinese_year",
"learn_chinese_month",
"chinese_certificate",
"chinese_certificate_name",
"chinese_certificate_grades",
"chinese_certificate_at",
"chinese_certificate_inst",
"ch_listening",
"ch_speaking",
"ch_reading",
"ch_writing,",
"is_eng_native_speaker",
"is_native_english",
"learn_eng_year",
"learn_eng_month",
"eng_qualification",
"eng_qualification_name",
"eng_qualification_grades",
"eng_qualification_at",
"eng_certificate_inst",
"eng_listening",
"eng_speaking",
"eng_reading",
"eng_writing",
"contact_name_1",
"relationship_1",
"contact_tel_1",
"contact_cellphone_1",
"contact_email_1",
"contact_addr_1",
"twpermit": {
"birthplace_country",
"birthplace_province",
"living_area",
"nataddr",
"third_region",
"third_region_opt",
"degree_no",
"job",
"experience",
"unit",
"employer1",
"employer2",
"idno",
"issued_at",
"expire_date",
"visa_country",
"visa_type",
"visa_start_at",
"visa_end_at",
"visa_stay_duration",
"declared_item",
"relatives": [{
"relationship",
"name",
"birthday",
"is_survived",
"job",
"address",
"tel",
}]
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_edu | |
| vs_st_twpermit | |
| vs_st_twpermit_relatives | |
| vs_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
2023/01/13更新: 多回傳is_ch_native_speaker, is_eng_native_speaker, is_native_english, learn_eng_year, learn_eng_month
Update
2023/01/13
VSA06 - 編輯線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/edit-application
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| profile_image | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| ch_name | ||
| en_name | ||
| gender | ||
| birthday | ||
| nationality | ||
| passport_no | ||
| id_number | ||
| marital_status | ||
| permanent_country | ||
| tel_2 | ||
| cellphone_1 | ||
| email_1 | ||
| address_1 | ||
| address_2 | ||
| educations | [<VS_ST_EDU>] | |
| is_ch_native_speaker | ||
| is_native_chinese | ||
| learn_chinese_year | ||
| learn_chinese_month | ||
| chinese_certificate | ||
| chinese_certificate_name | ||
| chinese_certificate_grades | ||
| chinese_certificate_at | YYYY-MM-DD HH:MM:SS | |
| chinese_certificate_inst | ||
| ch_listening | ||
| ch_speaking | ||
| ch_reading | ||
| ch_writing | ||
| is_eng_native_speaker | ||
| is_native_english | ||
| learn_eng_year | ||
| learn_eng_month | ||
| eng_qualification | ||
| eng_qualification_name | ||
| eng_qualification_grades | ||
| eng_qualification_at | YYYY-MM-DD HH:MM:SS | |
| eng_certificate_inst | ||
| eng_listening | ||
| eng_speaking | ||
| eng_reading | ||
| eng_writing | ||
| contact_name_1 | ||
| relationship_1 | ||
| contact_tel_1 | ||
| contact_cellphone_1 | ||
| contact_email_1 | ||
| contact_addr_1 | ||
| twpermit | <VS_ST_TWPERMIT> |
<VS_ST_EDU>
| Parameter | Type | Description |
|---|---|---|
| school_name | ||
| major | ||
| degree_code | ||
| period_start_at | YYYY-MM-DD HH:MM:SS | |
| period_end_at | YYYY-MM-DD HH:MM:SS | |
| is_current |
<VS_ST_TWPERMIT>
| Parameter | Type | Description |
|---|---|---|
| birthplace_country | ||
| birthplace_province | ||
| nataddr | ||
| living_area | ||
| third_region | ||
| third_region_opt | ||
| degree_no | ||
| job | ||
| experience | ||
| unit | ||
| employer1 | ||
| employer2 | ||
| idno | ||
| issued_at | YYYY-MM-DD HH:MM:SS | |
| expire_date | ||
| visa_country | ||
| visa_type | ||
| visa_start_at | YYYY-MM-DD HH:MM:SS | |
| visa_end_at | YYYY-MM-DD HH:MM:SS | |
| visa_stay_duration | ||
| declared_item | ||
| relatives | <VS_ST_TWPERMIT_RELATIVES> |
<VS_ST_TWPERMIT_RELATIVES>
| Parameter | Type | Description |
|---|---|---|
| relationship | ||
| name | ||
| birthday | ||
| is_survived | ||
| job | ||
| address | ||
| tel | ||
| sort_no |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_edu | |
| vs_st_twpermit | |
| vs_st_twpermit_relatives | |
| vs_link | |
| ps_sch | |
| ps_sch_contract | (is_main_cnt=1) |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新vs_st: apply_filled_at=now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /vs/proj/{vs_project.proj_no}/apply/{vs_st.apply_no}/{vs_st.apply_no}_profile_image.副檔名; ref_column=profile_image
2023/01/13更新: request增加參數is_ch_native_speaker, is_eng_native_speaker,is_native_english, learn_eng_year, learn_eng_month, 並更新vs_st欄位值
Update
2023/01/13
VSA07 - 取得線上申請附件清單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/application-docs
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"docs": [{
"doc_no",
"apply_status",
"upload_files":[{
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}],
}],
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_doc | |
| vs_link | |
| vs_project | |
| vs_common_doc |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 先取得vs_common_doc(vs_project.ismain=1)對應的doc_no, 再關聯vs_st_doc取得學生有上傳的附件
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
- 新增apply_status, 取ie_st_doc.apply_status (如果ie_st_doc不存在, apply_status='9'尚未收件)
webfront
apply_status=9 => "尚未上傳" apply_status=3 => "待補件" apply_status=其他狀態 => "已上傳"
Update
2021/08/23
VSA08 - 上傳線上申請附件
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/upload-application-docs
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| file | MultipartFile | 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| doc_no | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token不合法
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_doc | |
| vs_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 附件儲存路徑 /vs/proj/{vs_project.proj_no}/apply/{vs_st.apply_no}/{vs_st_doc.doc_no}.副檔名
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 判斷條件為 apply_filled_at is not null & apply_dep_updated_at is not null & ((vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3)
Update
2021/06/14
VSA09 - 取得申請結果(榜單公告)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/application-result
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ar_status",
"enroll_dep",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷時間是否位於vs_project.result_start_at & result_end_at之間, 否則回錯誤碼
Update
2021/06/01
VSA10 - 取得線上報到狀態
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/enroll-status
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"gender",
"birthday",
"nationality",
"passport_no",
"id_number",
"marital_status",
"permanent_country",
"tel_2",
"cellphone_1",
"email_1",
"address_1",
"address_2",
"education": {
"school_name",
"major",
"degree_code",
"period_start_at",
"period_end_at",
"is_current",
},
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_cellphone_2",
"contact_email_2",
"contact_addr_2",
"ar_status",
"enroll_dep",
"is_register",
"dorm_status",
"dorm_location",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_edu |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- vs_st_edu只撈is_current=1的資料
- 判斷時間是否位於vs_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
webfront - 判斷若dorm_status=1(床位正取), 才會出現"校內住宿"選項
Update
2021/06/01
VSA11 - 進行線上報到
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/enroll
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| is_register | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_cellphone_2 | ||
| contact_email_2 | ||
| contact_addr_2 | ||
| dorm_location |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 需更新register_at=now()
- 判斷時間是否位於vs_project.enroll_start_at & enroll_end_at之間, 否則回錯誤碼
Update
2021/06/01
VSA12 - 取得學生資料維護(在校生)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/enroll-st-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"address_tw",
"cellphone_tw",
"email_1",
"contact_name_2",
"relationship_2",
"contact_tel_2",
"contact_addr_2",
"contact_email_2",
"visa_expire_at",
"visa_type",
"visa_no",
"insurance_type",
"insurance_expire_at",
"is_national_health_insurance",
"insurance_file": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
Update
2021/06/01
VSA13 - 編輯學生資料維護
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/edit-enroll-st-info
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| insurance_file | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| address_tw | ||
| cellphone_tw | ||
| email_1 | ||
| contact_name_2 | ||
| relationship_2 | ||
| contact_tel_2 | ||
| contact_addr_2 | ||
| contact_email_2 | ||
| visa_expire_at | YYYY-MM-DD HH:MM:SS | |
| visa_type | ||
| visa_no | ||
| insurance_type | ||
| insurance_expire_at | YYYY-MM-DD HH:MM:SS | |
| is_national_health_insurance |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_link |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- insurance_file存vs_link, ref_column=insurance_file, 上傳檔案路徑: /vs/st/{vs_st.st_no}/insurance_file.副檔名
- 更新personal_info_update_status=1, personal_info_update_at=now(), insurance_update_status=1, insurance_update_at=now()
Update
2021/06/01
VSA14 - 取得在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/exchange-experience
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchange_exp": {
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
},
"exchange_images": [{
"image": {
"entity_id",
"title",
"original_filename",
"link_uri",
"link_data",
"created_at",
"updated_at"
}
}]
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_link |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
Update
2021/06/01
VSA15 - 上傳在校心得
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/send-exchange-experience
Request
- Auth Required
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| exchange_exp | MultipartFile | 0 or 1 file |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_link |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- exchange_exp存vs_link, ref_column: exchange_exp, 上傳檔案路徑: /vs/st/{vs_st.st_no}/exchange_exp.副檔名
Update
2021/06/01
VSA16 - 送出離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/send-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| leave_sch_at | string | YYYY-MM-DD HH:MM:SS |
| leave_tw_at | string | YYYY-MM-DD HH:MM:SS |
| leave_apply_at | string | YYYY-MM-DD HH:MM:SS |
| leave_reason | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- 更新leave_update_status=1, leave_update_at=now()
Update
2021/06/01
VSA17 - 列印離校申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/print-leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- 讀取vs_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
- 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr
Update
2021/06/01
VSA18 - 登入(新生申請)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/applicant-login
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| apply_no | string | |
| password | String |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"access_token",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1001 登入失敗
VS1009 連續登入失敗
VS1011 登入失敗
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_project |
- 檢查帳號密碼是否符合,且專案是否為主要專案 select from vs_st left join vs_project where apply_no={apply_no} and password={password} and vs_project.ismain=1
- 檢查登入錯誤3次就鎖定600秒無法登入(錯誤次數跟鎖定秒數從ss_config來, oia_login_error_times & oia_login_lock_time)
- 登入失敗時更新vs_st: error_times+1 & login_time=now()
- 登入成功時更新vs_st: login_time=now() & login_success_time=now() & error_times=0
Update
2021/07/08
VSA19 - 取得VS參數設定
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/config
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"config": {
"vs_dorm_name",
"vs_dorm_link",
}
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| vs_config | is_enable=1 |
Update
2021/06/01
VSA20 - 取得離校申請資訊
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/leave-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"leave_sch_at",
"leave_tw_at",
"leave_apply_at",
"leave_reason",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
Update
2021/06/01
VSA21 - 取得圖片/檔案內容
此為公開檔案, 用於前台最新消息與下載專區
Request範例
HTTP Request
GET {{frontapi.url}}/v1/vs/dl?f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| f | string | vs_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_link |
- 需檢查vs_link: link_uri={link_uri} 且ref_table=(vs_news or vs_brochure)
Update
2021/06/01
VSA22 - 取得需驗證身分檔案/圖片
此檔案需驗證登入者身分, 用於前台線上申請,學生資料維護(保險資料)與來校心得(交換心得, 交換照片)
Request範例
HTTP Request
GET {{frontapi.url}}/v1/vs/private-dl?token={preview_token}&f={link_uri}
Request
- Auth Not Required
| Parameter | Type | Description |
|---|---|---|
| token | string | from SSA06 |
| f | string | vs_link.link_uri |
Response
return binary file
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_link | |
| vs_st |
- 需檢查token合法性, 且圖片確實為該登入者上傳檔案
Update
2021/06/01
VSA23 - 上傳在校心得照片
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/send-exchange-experience-image
Request
- Auth Required
RAW JSON
Content-type: multipart/form-data
| Parameter | Type | Description |
|---|---|---|
| req | JSON | Ref: @Req1 |
| exchange_image | MultipartFile | 0 or 1 file |
@Req1
A RAW JSON with Content-Type: application/json
| Parameter | Type | Description |
|---|---|---|
| entity_id? | int |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_link |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- exchange_images存vs_link, ref_column: exchange_image, 上傳檔案路徑: /vs/st/{vs_st.st_no}/exchange_images/{file hash}.副檔名
- 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的
Update
2021/06/01
VSA24 - 申請帳號
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/register
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| en_name | string | |
| email_1 | string | |
| nationality | string | |
| sch_no | string |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_link |
- insert vs_st: en_name, email_1, nationality, sch_no, proj_no, apply_no, password, ps_cnt_scope
- 帳號(apply_no)規則: sch_no+proj_no+cnt_scope三碼流水號
- 開立帳號相關規則可參考後台VS102
- 開立帳號預設 apply_status = '9'
- 寄送通知信, 通知信範例為 https://docs.google.com/document/d/1hlDtCrgVhwPXML7a-9VdFlDzpiNCPWTt/edit
Update
2021/06/15
VSA25 - 進行線上申請繳費
Request範例
HTTP Request
GET {{frontapi.url}}/v1/vs/pay?token={preview_token}&pay_type={pay_type}&locale={locale}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| pay_type | string | A: 信用卡, G: 超商繳費單 |
| token | string | from SSA06 |
| locale | string | en | zh-tw |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
跳轉到付款頁
Response Error Codes
VS1010 已付款
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getVaccNo, 將回傳的vaccNo更新vs_st.vacc_no (* 如果vs_st.vacc_no已存在, 則不再取新的vacc_no)
- fee = vs_config.vs_apply_fee
- vaccNo = 49849(ss_config.oia_vacc_base_no) + 報名管道代碼(vs_config.vs_payment_activity_no) + 學期別 + 招生年度後二碼 + 流水碼4碼
- 學期別: vs_project.term末一碼
- 招生年度: vs_project.term前三碼
- call service: doPay 直接轉導到付款頁 (將service param存在vs_st.payment_request)
- vacc14 = vs_st.vacc_no
- payType = pay_type
- fee = vs_config.vs_apply_fee
- dueDate = vs_project.payment_end_at (格式為 YYYYMMDD, 例如: 20131230)
- paymentName = vs_config.vs_payment_name
- paymentUser = vs_st.apply_no
- paymentUserNAME = vs_st.en_name
- oiaReturnUrl = VSA27 's URL
- update vs_st:
- vacc_no
- pay_currency='NT'
- fees_num=vs_config.vs_apply_fee
- pay_kind='7'
- payment_type=pay_type
- payment_request
- payment_start_at=now()
- insert ss_log:
- eno=-1
- category='VS'
- action='VSA25'
- data= apply_no, vacc_no, pay_currency, fees_num, pay_kind, payment_type, payment_request, payment_start_at(將vs_st的這些欄位以json格式儲存)
Update
2021/11/30
VSA26 - 取得繳費結果
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/payment-info
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"apply_no",
"vacc_no",
"vacc_state",
"fees_num",
"pay_fees_num",
"pay_currency",
"pay_kind",
"receive_day",
"payment_src",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
(N/A)
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- call service: getPaymentResult
- update vs_st:
- vacc_state = from step1 service
Update
2021/12/16
VSA27 - 繳費交易完成回導頁
師大payment gateway直接回導, 僅能用GET
Request範例
HTTP Request
GET {{frontapi.url}}/v1/vs/payment-completed/{vacc_no}/{locale}?SRC={}&BRC={}&URLResEnc={}&TYP={}
Request
- Auth NOT Required
| Parameter | Type | Description |
|---|---|---|
| vacc_no | string | 虛擬帳號(vs_st.vacc_no) |
| locale | string | en | zh-tw |
| SRC | string | 金流回覆碼 |
| BRC | string | |
| URLResEnc | string | (加密資訊) |
| TYP | string |
Response
轉導到前端頁面: URL待補
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 一進來將收到的request存到ss_log (eno=-1, category='VS', action='VSA27', data=request參數), 程式不做任何處理先存
- 判斷如果payment_src='00', 回錯誤碼表示已完成付款
- call service: getPaymentResult
- update vs_st:
- payment_src = SRC
- payment_response = {"SRC": ,"BRC": ,"URLResEnc": ,"TYP": } (20221101改不更新此值)
- vacc_state = from step1 service
- pay_fees_num=vs_config.vs_apply_fee [SRC=00才更新]
- payment_paid_at=now() [SRC=00才更新]
- receive_day=now() (format: YYYY/MM/DD) [SRC=00才更新]
- insert ss_log:
- eno=-1
- category='VS'
- action='VSA27'
- data= apply_no, vacc_no, pay_currency, fees_num, pay_kind, payment_type, payment_request, payment_start_at, payment_src, payment_response, vacc_state, pay_fees_num, payment_paid_at, receive_day(將vs_st的這些欄位以json格式儲存)
Update
2021/11/30
VSA28 - 列印線上申請單
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/print-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response
return PDF file
Response Error Codes
VS1002 token類型不合法
VS1003 找不到vs_st 主檔
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_st_edu | |
| vs_st_twpermit | |
| vs_st_twpermit_relatives | |
| vs_link |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 產出線上申請單格式
- 更新vs_st.apply_printed_at = now()
Update
2021/06/14
VSA29 - 取得線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"exchang_period",
"ps_cnt_scope",
"degree_no",
"apply_dep_1",
"apply_dep_2",
"is_study_mandarin",
"nationality",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token類型不合法
VS1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為(vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
Update
2021/06/14
VSA30 - 編輯線上申請表: 志願
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/edit-application-dep
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| exchang_period | ||
| degree_no | ||
| apply_dep_1 | ||
| apply_dep_2 | ||
| is_study_mandarin |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
VS1002 token類型不合法
VS1003 找不到vs_st 主檔
VS1005 尚未開放線上申請
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新vs_st: apply_dep_updated_at=now()
- en_name儲存時, 需轉成全大寫
- 判斷現在是否能編輯, 不行回error code, 規則參考 #甄審狀態 https://docs.google.com/spreadsheets/d/1q9gbkM24c41TAHJYjzSWfwzZN8pfKRVH/edit#gid=1261254426
- 可編輯條件為 (vs_project.apply_start_at & apply_end_at & apply_status=9) or apply_status=3
- 附件儲存路徑 /vs/proj/{vs_project.proj_no}/apply/{vs_st.apply_no}/{vs_st.apply_no}_profile_image.副檔名; ref_column=profile_image
Update
2021/06/14
VSA31 - 送出線上申請表
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/submit-application
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 送出時, 更新vs_st: apply_status = '0' & apply_at=now()
Update
2021/06/14
VSA32 - 取得線上申請進度
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/application-progress-steps
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"apply_status",
"apply_filled_at",
"apply_dep_updated_at",
"apply_printed_at",
"payment_paid_at",
"apply_at",
"payment_end_at",
"dep_review_status_1",
"dep_review_status_2",
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| vs_st | |
| vs_project |
- 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
- 如果不在vs_project.apply_start_at & apply_end_at時間內, 或是 vs_st.apply_status!=3, 回error code (此功能尚未開放)
- payment_end_at來自vs_project
webfront
- apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
- 出現error code顯示"此功能尚未開放"
- apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
- 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出
2023/01/11 多回傳dep_review_status_1, dep_review_status_2
Update
2023/01/11
VSA33 - 取得學生資料(離校問卷使用)
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/survey-st-data
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
"ch_name",
"en_name",
"st_no",
"gender",
"enroll_dep", // dep_no
"degree_no",
"nationality",
"is_send_survey",
"proj_no", // prog_no
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
Update
2021/10/13
VSA34 - 送出離校問卷
Request範例
HTTP Request
POST {{frontapi.url}}/v1/vs/send-leave-survey
Request
- Auth Required
| Parameter | Type | Description |
|---|---|---|
| (N/A) |
Response範例
{
"header": {
"status": "OK"
},
"body": {
}
}
Response
| Property | Type | Description |
|---|---|---|
| (N/A) |
Response Error Codes
Logic
TABLE
| table | Description |
|---|---|
| vs_st |
- 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
- 更新is_send_survey=1
Update
2021/10/13
後台寫作風格
(一) 資料夾結構
依 各系統代號 分資料夾,皆為小寫。
常用檔案
- /java/dz/webadmin/controller
- /java/dz/webadmin/service
- /java/dz/webadmin/model/api
- /java/dz/webadmin/persistence/dao
- /java/dz/webadmin/persistence/mapper
- /resources/templates/admin/page/.ftl (../index, ../edit)
共用程式
- /sharedj/src/main/java/oia/core/support/*
- /java/dz/webadmin/support/*
- resources/static/skin/admin/extends/scripts/*
(二) 畫面排版
分成 index.ftl、edit.ftl頁面。區塊皆須包 <div class="portlet box">。
<div class="portlet box">
<div class="portlet-body">
<div class="caption">
<span class="sbold uppercase">標題</span>
</div>
<div class="tools">
</div>
</div>
<div class="portlet-body">
<!-- body內容 -->
</div>
</div>
index.ftl
- 查詢條件:2 columns
- 查詢列表:使用Datatables
- 一般查詢類
<table class="table table-striped table-bordered table-hover"></table> - 一般查詢類
<table class="table table-striped table-bordered table-hover nowrap"></table> - 一般查詢類
<table class="table table-striped table-bordered table-hover table-checkable"><table>
<label class="mt-checkbox mt-checkbox-outline mt-checkbox-single"></label>
- 一般查詢類
<!-- edit: 1 column -->
<!-- body內容 -->
<div class="form-container form">
<div class="form-body form-horizontal">
<div class="row aa-form-row">
<div class="aa-form-group">
<label class="col-md-3 control-label">編號</label>
<div class="col-md-6">
<input type="text" name="sno"
class="form-control" value="${(content.sno)!}"/>
</div>
</div>
</div>
</div>
</div>
<!-- edit: 2 columns -->
<!-- body內容 -->
<div class="form-container form">
<div class="form-body form-horizontal">
<div class="row aa-form-row">
<div class="aa-form-group">
<label class="col-md-2 control-label">中文姓名</label>
<div class="col-md-4">
<input name="ch_name" type="text" class="form-control"
value="${(content.ch_name)!}" required/>
</div>
</div>
<div class="aa-form-group">
<label class="col-md-2 control-label">英文姓名</label>
<div class="col-md-4">
<input name="en_name" type="text" class="form-control"
value="${(content.en_name)!}" required/>
</div>
</div>
</div>
</div>
</div>
edit.ftl
- 資料面從前台來,後台畫面為 2 coulmns。反之,為 1 column。
- 1 column
<label class="col-md-3"></label>
<div class="col-md-6">{元件}</div> - 2 columns
<label class="col-md-2"></label>
<div class="col-md-4">{元件}</div>
- 1 column
(三) 元件-Datatables
<!-- datatables: 一般查詢類 -->
<!-- body內容 -->
<div class="table-container">
<table class="table table-striped table-bordered table-hover" id="table01">
<thead>
<tr role="row" class="heading">
<th width="10%" class="orderable-false">操作</th>
<th width="20%">校名</th>
<th width="20%">州別</th>
<th width="50%">國家</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<!-- datatables: 報表類 -->
<!-- body內容 -->
<div class="table-container">
<table class="table table-striped table-bordered table-hover nowrap" id="table01">
<thead>
<tr role="row" class="heading">
<th width="10%" class="orderable-false">操作</th>
<th width="20%">校名</th>
<th width="20%">州別</th>
<th width="50%">國家</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<!-- datatables: 全選類 -->
<!-- body內容 -->
<div class="table-container">
<table class="table table-striped table-bordered table-hover table-checkable" id="table01">
<thead>
<tr role="row" class="heading">
<th class="orderable-false">
<label class="mt-checkbox mt-checkbox-outline mt-checkbox-single">
<input type="checkbox" class="group-checkable"
data-set="#table01 .checkboxes"/>
<span></span>
</label>
</th>
<th width="20%">校名</th>
<th width="20%">州別</th>
<th width="50%">國家</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
- 般查詢類
<table class="table table-striped table-bordered table-hover"></table> - 報表類
<table class="table table-striped table-bordered table-hover nowrap"></table> - 全選類
<table class="table table-striped table-bordered table-hover table-checkable"><table>
<label class="mt-checkbox mt-checkbox-outline mt-checkbox-single"></label> - 收合類
Payment
錯誤代碼
| ErrorCode | Description |
|---|---|
| PAY1001 | token 錯誤 |
| PAY1002 | 資料錯誤 |
| PAY1003 | pay result 錯誤 |
付款代碼
| Code | Name |
|---|---|
| A | 信用卡 |
| B | 銀聯卡 |
| C | WebATM |
| D | 臨櫃繳費單 |
| E | 四大超商列印繳費單 |
| F | 兩岸支付通 |
| G | 超商繳費單 |
| H | 信用卡代收定期扣款 |
虛擬帳號編碼規則
- ### 規則
49849+報名管道代碼(1)+學期別(1) + 招生年度後二碼(2) + 流水號 (4) + 檢查碼(1)
其中,檢查碼由Payment Gateway提供
- 報名管道代碼
外國學生 1
外國轉學生 2
赴外交換生報名費 9
赴外交換生保證金 3
僑生個人申請報名費 7
姊妹校訪問生報名費 5
非姊妹校訪問生報名費 6
- 學期別
秋季班 1
春季班 2
- 舉例
| 專案名稱 | 範例 |
|---|---|
| 外國學生2022年秋季班報名 | 49849 11 22 |
| 外國學生2023年春季班報名 | 49849 12 23 |
| 赴外交換2022秋季班報名費 | 49849 91 22 |
| 赴外交換2022秋季班保證金 | 49849 31 22 |
| 赴外交換2023春季班報名費 | 49849 92 23 |
| 赴外交換2023春季班保證金 | 49849 32 23 |
ss_config設定
| config_key | description |
|---|---|
| payment_paypage_url | 連接付款頁面(Paypage) URL |
| payment_soap_url | Payment Gateway SOAP API URL |
| payment_return_url | Return URL |
UAT測試專區
- ### 中信自行卡
中信卡前八碼: 4311-9510-XXXX-XXXX
例如: 4311951012345678
CVV: 三碼亂打
效期:不過期就可以
- ### 繳款編號設定
PS: 每個申請金流編碼需要個別申請,例如OE系統需要測試2023秋季班(9123),則需要請OIA承辨人員開通金流設定
| 系統代碼 | 系統名稱 | 報名管道代碼 | 申請金流編碼 |
|---|---|---|---|
| AP | 外國學生 | 1 | 1222 1122 |
| TP | 外國轉學生 | 2 | 2122 |
| OE | 赴外交換生報名費 | 9 | 9222 9122 |
| OE | 赴外交換生保證金 | 3 | 3222 3122 |
| OC | 僑生個人申請報名費 | 7 | 7122 |
| VS | 姊妹校訪問生報名費 | 5 | 5222 5122 |
| NP | 非姊妹校訪問生報名費 | 6 | 6222 6122 |
----------Payment Service----------
取得虛擬帳號
Class
- oia.frontapi.service.paymentgateway.payUtil
Method
- getVaccNo
| Parameter | Type | Description |
|---|---|---|
| vaccNo | String | 繳費帳號前13碼 |
| fee | Integer | 繳費金額 |
Return
| Type | Description |
|---|---|
| String | 虛擬帳號 14碼 |
連接付款頁面(Paypage)
Class
- oia.frontapi.service.paymentgateway.PayUtil
Method
- doPay
| Parameter | Type | Description |
|---|---|---|
| vacc14 | String | 虛擬繳費帳號(完整14碼虛擬帳號) |
| payType | String | 付款代碼 |
| fee | Integer | 繳費金額 |
| dueDate | String | 繳費期限 yyyyMMdd |
| paymentName | String | 費用名稱 |
| paymentUser | String | 繳款人識別ID (准考證號、學號…等可供識別的代碼) |
| paymentUserNAME | String | 繳款人姓名 |
| oiaReturnUrl | String | Return URL ex: /ie/{project_no}/{apply_no} |
規則:
- 各系統傳入oiaReturnUrl做為接收師大金流的回覆資料, 各系統實作時需將接收到的URL參數記錄在ss_log中,填入內容如下:
| Parameter | Type | Description |
|---|---|---|
| eno | integer | 固定值: -1 |
| category | String | 系統代碼。例如: OC, OE... |
| action | Integer | API編號。例如: OCA06, ... |
| data | String | json format 實作內容請參考OCA06, 表格下方為範例 |
{ "pay_fees":null, "procedure_day":null, "receive_day":"2021/11/03", "oc_no":"2021010008", "payment_paid_at":null, "pay_fees_num":null, "apply_status":"failed", "ch_name":"黃耀碧", "real_receive_fees":null, "payment_response":"{\"vaccNo\":\"49849712200180\",\"locale\":\"zh-tw\",\"src\":\"Z15\",\"brc\":\"XX\",\"URLResEnc\":null,\"type\":null}", "pay_kind":"7", "pay_currency":"NT", "vacc_state":"N/A", "uec_apply_no":"004184", "payment_type":"A", "proj_no":"202101", "vacc_no":"49849712200180", "payment_request":"{\"paymentUser\":\"004184\",\"payType\":\"A\",\"paymentUserNAME\":\"黃耀碧\",\"oiaReturnUrl\":\"/oc/payment-completed/49849712200180/zh-tw\",\"fee\":750,\"dueDate\":\"20220106\",\"paymentName\":\"僑生個人申請審查費 (2022.9月入學)\",\"vacc14\":\"49849712200180\"}", "procedure_status":null, "fees_num":750, "payment_src":"Z15", "payment_start_at":1635875333713 }
Return
| Type | Description |
|---|---|
| String | 封包HTML |
取得付款結果
Class
- oia.frontapi.service.paymentgateway.PayUtil
Method
- getPaymentResult
| Parameter | Type | Description |
|---|---|---|
| vaccNo | String | 虛擬繳費帳號(完整14碼虛擬帳號) |
Return
| Type | Description |
|---|---|
| String | 繳費結果 |
Student Dormitory 學生宿舍
ErrorCode 錯誤代碼
| ErrorCode | Description |
|---|---|
| Dorm1001 | token 錯誤 |
| Dorm1002 | 找不到資料 |
| Dorm1003 | result 錯誤 |
oia_hostel 宿舍代碼
| Code | Name |
|---|---|
| F1 | 女一舍(校本部) |
| F19 | 女一分舍4人房(校本部) |
| F1B | 女一分舍(校本部) |
| F2 | 女二舍(公館校區) |
| G | 研究生宿舍(公館校區) |
| LF | 林口誠樓女舍(林口校區) |
| LG | 林口研究生宿舍(林口校區 |
| LM | 林口誠樓男舍(林口校區) |
| M | 男三舍(公館校區) |
| M1 | 男一舍(校本部) |
| M2 | 男二舍(公館校區) |
| S7 | 學七舍(公館校區) |
相關設定及資訊
- 資料庫設定
此功能需連接另一台DB相關資訊如下:
舊系統 連接宿舍資料庫(測試機)
IP/Port: 140.122.66.166:15002
DB: stdaffair_test
Username: t4stdaffair
Password: t4stdaffair710
編碼: big5
- 使用到相關table
Dorm_FreshmanApply
Dorm_DormQuota
Dorm_Dormitory
- apply_stdttype 申請學生類別
N : 研究生新生
F : 大學生新生
當degree_no = U時,apply_stdttype = F否則都帶N
----------StudentDormitory API----------
取回宿舍列表(名額限制)
Class
- oia.core.service.DormitoryService
Method
- getAvailableDormList
Request
| Parameter | Type | Description |
|---|---|---|
| gender | String | 性別 男:M 女:F |
| degree_no | String | 學制 學士:U 碩士:M 博士:D |
| isQuota | Boolean | 是否需要撈名額列表 true / false |
Response
| Parameter | Type | Description |
|---|---|---|
| code_key | String | 宿舍代碼 |
| code_val_ch | String | 宿舍中文名稱 |
| code_val_en | String | 宿舍英文名稱 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"dorms":[
{
"code_key": "F1",
"code_val_ch": "女一舍(校本部)",
"code_val_en": "Women's Dorm 1 @ Main Campus"
}
]
}
}
作法描述
先取得該學生性別以及系所substring(apply_dep,2,1)
SELECT TOP 1 gender,SUBSTRING(apply_dep,2,1) FROM ap_st WHERE apply_no=? AND proj_no=?
透過學生性別以及apply_stdttype取回宿舍列表
// apply_type 固定帶D
// apply_stdttype: N : 研究生新生 F : 大學生新生
當degree_no = U時,apply_stdttype = F否則都帶N
getHostelSql
select A.DormId as CODE ,B.DormName AS NAME From Dorm_DormQuota A
join Dorm_Dormitory B on A.DormId = B.DormId
where A.Disabled='N' and A.Deleted='N'
and A.ApplyType =#{apply_type}
and ApplyStdtType = #{apply_stdttype}
//需要撈名額限制的宿舍列表
if(isQuota == true){
//男女生
if("M".equals(gender)){
sql.append("and A.QuotaM > 0 ");
}else if("F".equals(gender)){
sql.append("and A.QuotaF > 0 ");
}
}else
{
//男女生
if("M".equals(gender)){
sql.append("and A.QuotaM >= 0 ");
}else if("F".equals(gender)){
sql.append("and A.QuotaF >= 0 ");
}
}
新增宿舍資料
Class
- oia.core.service.DormitoryService
Method
- insertDorm_FreshmanApply
Request
| Parameter | Type | Description |
|---|---|---|
| ApplyYear | String | 申請年度 |
| FreshmanType | String | 報到類別 |
| IdNo | String | 護照號碼 |
| ApplyType | String | 申請類別 default:D |
| ApplyStdtType | String | 申請學生類別 N : 研究生新生 F : 大學生新生 (DegreeNo 有值可不傳) |
| StdtKind | String | 學生類別 G : 研究生 U: 大學生 (DegreeNo 有值可不傳) |
| StdtName | String | 學生名字en_name |
| DeptId | String | 申請系所apply_dep |
| Gender | String | 性別 |
| RegisteredAddress | String | 家裡地址house_address |
| ZipCode | String | 郵遞區號 |
| MailingAddress | String | 通訊地址comm_address |
| HomePhone | String | 家裡電話 |
| MobilePhone | String | 手機號碼 |
| EmailAddress | String | 電子郵件地址 |
| PostOfficeNo | String | 郵局局號 |
| PostOfficeAccount | String | 郵局帳號 |
| GuardianKind | String | 監護人類別 |
| GuardianName | String | 監護人姓名 |
| GuardianHomePhone | String | 監護人家裡電話 |
| Priority | String | 優先事項代碼 DG100 : 研究生新生 DU100: 大學生新生 (DegreeNo 有值可不傳) |
| DormWill1 | String | 志願一 |
| DormWill2 | String | 志願二 |
| DormWill3 | String | 志願三 |
| DormWill4 | String | 志願四 |
| ProjNo | String | 專案編號(FreshmanType 有值可不傳) |
| ApplySeason | String | 申請季別(FreshmanType 有值可不傳) |
| DegreeNo | String | 學制 |
Response
| Parameter | Type | Description |
|---|---|---|
| is_action | Integer | 結果 0, 1 |
作法描述
INSERT INTO Dorm_FreshmanApply ( ApplyYear, FreshmanType,IdNo,ApplyType,ApplyStdtType, StdtKind,StdtName,DeptId,Gender,RegisteredAddress,ZipCode,MailingAddress,HomePhone,MobilePhone, EmailAddress,PostOfficeNo,PostOfficeAccount,GuardianKind,GuardianName, GuardianHomePhone,GuardianCellPhone,Priority,DormWill1,DormWill2,DormWill3,DormWill4,ApplyDate,CreateDate,UpdateDate) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,getdate(),getdate(),getdate())
pstmt.setString(1,(String)mp.get("applyyear")); pstmt.setString(2,getFreshmanType(NDataModule.getSinglep((String)mp .get("proj_no")),NDataModule.getSinglep((String)mp.get("apply_season")))); pstmt.setString(3,(String)mp.get("passport_no")); pstmt.setString(4,(String)mp.get("applytype")); //ApplyType D pstmt.setString(5,(String)mp.get("applystdttype")); //ApplyStdtType : N : 研究生新生 F : 大學生新生 pstmt.setString(6,(String)mp.get("stdtkind")); //G : 研究生 U: 大學生 pstmt.setString(7,(String)mp.get("en_name")); pstmt.setString(8,(String)mp.get("apply_dep")); pstmt.setString(9,(String)mp.get("gender")); pstmt.setString(10,(String)mp.get("house_address")); pstmt.setString(11,""); //郵遞區號 pstmt.setString(12,(String)mp.get("comm_address")); pstmt.setString(13,(String)mp.get("day_contact")); pstmt.setString(14,(String)mp.get("mobile")); pstmt.setString(15,(String)mp.get("email")); pstmt.setString(16,(String)mp.get("post_no")); pstmt.setString(17,(String)mp.get("post_acc")); pstmt.setString(18,(String)mp.get("emergency_relation")); pstmt.setString(19,(String)mp.get("emergency_person")); pstmt.setString(20,(String)mp.get("emergency_mobile")); pstmt.setString(21,(String)mp.get("emergency_contact")); pstmt.setString(22,(String)mp.get("priority")); // DG100 : 研究生新生 F : DU100 大學生新生 pstmt.setString(23,(String)mp.get("dormwill_1")); pstmt.setString(24,(String)mp.get("dormwill_2")); pstmt.setString(25,(String)mp.get("dormwill_3")); pstmt.setString(26,(String)mp.get("dormwill_4"));
FreshmanType可透過下列function private String getFreshmanType(String projNo, String applySeason){
String result = ""; try { String ayear = projNo.substring(0, 4); String seq = projNo.substring(4, 6); String c_year = String.format("%03d", (Integer.valueOf(ayear) - 1911));
result = String.format("F%s%d%s", c_year.substring(1), Integer.valueOf(seq), applySeason); } catch (Exception e) { logger.error("", e); } return result;
}
更新宿舍資料
Class
- oia.core.service.DormitoryService
Method
- updDorm_FreshmanApply
Request
| Parameter | Type | Description |
|---|---|---|
| DormWill1 | String | 宿舍第一志願 |
| DormWill2 | String | 宿舍第二志願 |
| DormWill3 | String | 宿舍第三志願 |
| DormWill4 | String | 宿舍第四志願 |
| PostOfficeNo | String | 郵局局號 |
| PostOfficeAccount | String | 郵局帳號 |
| GuardianKind | String | 監護人類別 |
| GuardianName | String | 監護人名字 |
| GuardianHomePhone | String | 監護人家裡電話 |
| GuardianCellPhone | String | 監護人手機 |
| ApplyYear | String | 申請年度 |
| FreshmanType | String | 報名類別 |
| IdNo | String | 護照號碼 |
| ProjNo | String | 專案編號(FreshmanType 有值可不傳) |
| ApplySeason | String | 申請季別(FreshmanType 有值可不傳) |
Response
| Parameter | Type | Description |
|---|---|---|
| is_action | Integer | 結果 0, 1 |
作法描述
UPDATE dbo.Dorm_FreshmanApply
SET
DormWill1 = ?,
DormWill2 = ?,
DormWill3 = ?,
DormWill4 = ?,
PostOfficeNo = ?,
PostOfficeAccount = ?,
GuardianKind = ?,
GuardianName = ?,
GuardianHomePhone = ?,
GuardianCellPhone = ?,
ApplyDate = getdate(),
CreateDate = getdate(),
UpdateDate = getdate()
WHERE ApplyYear = ?
and FreshmanType = ?
and IdNo= ?
取得該學生的宿舍填寫資料
Class
- oia.core.service.DormitoryService
Method
- selectDorm_FreshmanApply ### Request
| Parameter | Type | Description |
|---|---|---|
| ApplyYear | String | 申請年度 |
| IdNo | String | 護照號碼 |
| FreshmanType | String | 報名類別 |
| ProjNo | String | 專案編號(FreshmanType 有值可不傳) |
| ApplySeason | String | 申請季別(FreshmanType 有值可不傳) |
Response
| Parameter | Type | Description |
|---|---|---|
| is_action | Integer | 結果 0, 1 |
| DormWill1 | String | 宿舍第一志願 |
| DormWill2 | String | 宿舍第二志願 |
| DormWill3 | String | 宿舍第三志願 |
| DormWill4 | String | 宿舍第四志願 |
| PostOfficeNo | String | 郵局局號 |
| PostOfficeAccount | String | 郵局帳號 |
| ApplyYear | String | 申請年度 |
| FreshmanType | String | 報名類別 |
| IdNo | String | 護照號碼 |
作法描述
select ApplyYear as applyyear, FreshmanType as freshmantype, IdNo as idno, PostOfficeNo as post_no, PostOfficeAccount as post_acc, DormWill1 as dormwill_1, DormWill2 as dormwill_2, DormWill3 as dormwill_3, DormWill4 as dormwill_4 From Dorm_FreshmanApply
where ApplyYear = '"+applyyear+"' and FreshmanType = '"+ freshmantype +"' and IdNo= '"+passport_no+"' ";
Upload Photo to School 上傳學生照片至校務系統
相關設定及資訊
AUTHORIZATION_HEADER_KEY = "HashCode";
AUTHORIZATION_HEADER_VALUE = "294a34c4ed41f113d39951d87188b9c3";
DOMAIN_OFFICIAL = "http://apx.itc.ntnu.edu.tw/";
DOMAIN_TEST = "http://140.122.66.100:7001/";
UPLOAD_URL = DOMAIN_OFFICIAL + "AasIDPhoto/AasIDPhoto10101.do?" + "action=uploadPicByIDNo&CODE=ea7a85965afb69a6d0b283674b79065a&" + "IDNO=%1$s&BIRTHDAY=%2$s";
boundary = "*****";
----------UploadPhotoToSchool API----------
上傳學生照片至校務系統
Class
- oia.core.service.UploadPhotoToSchoolService
Method
- uploadPhotoToSchool
Request
| Parameter | Type | Description |
|---|---|---|
| idno | String | 身分證字號 |
| birthday | String | 生日(YYYY/MM/DD) |
| photo | File | 照片檔 上傳副檔名必須為.jpg |
Response
| Parameter | Type | Description |
|---|---|---|
| success | String | 上傳狀態 true/false |
| msg | String | 上傳回傳訊息 |
Response 範例
{
"header": {
"status": "OK"
},
"body": {
"dorms":[
{
"success": "true",
"msg": "上傳檔案成功"
}
]
}
}
作法描述
將學生照片上傳至校務系統
1.下列為相關使用參數
說明 (UAT)
URL: http://140.122.66.100:7001/AasIDPhoto/AasIDPhoto10101.do
HTTP Method: POST with form-data
HTTP Header: HashCode: 294a34c4ed41f113d39951d87188b9c3
QueryString: IDNO,
BIRTHDAY=斜線日期,
action=uploadPicByIDNo,
CODE=ea7a85965afb69a6d0b283674b79065a
form-data: fileToUpload
2.請參考下列程式寫成共用程式
AUTHORIZATION_HEADER_KEY = "HashCode";
AUTHORIZATION_HEADER_VALUE = "294a34c4ed41f113d39951d87188b9c3";
DOMAIN_OFFICIAL = "http://apx.itc.ntnu.edu.tw/";
DOMAIN_TEST="http://140.122.66.100:7001/";
UPLOAD_URL = DOMAIN_OFFICIAL+"AasIDPhoto/AasIDPhoto10101.do?"+ "action=uploadPicByIDNo&CODE=ea7a85965afb69a6d0b283674b79065a&"+ "IDNO=%1$s&BIRTHDAY=%2$s";
boundary = "*****";
- 從後台上傳學生證照片至校務系統
- @param idno 身分證字號
- @param birthday 生日(YYYY/MM/DD)
- @param photo 照片檔
- @return
public static String uploadToSchool(String idno,String birthday,File photo) {
String response=null;
HttpURLConnection conn=null;
try {
conn=(HttpURLConnection)(new URL(String.format(UPLOAD_URL, idno,birthday)).openConnection());
conn.setRequestProperty(AUTHORIZATION_HEADER_KEY, AUTHORIZATION_HEADER_VALUE);
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Cache-Control", "no-cache");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
doDataOutput(conn,photo);
response=doDataInput(conn);
return String.format("%1$d : %2$s", conn.getResponseCode(),response);
} catch (Exception e) {
new MyLogger("StudentCard").writeJspError(e);
return e.toString();
}finally{
if(conn!=null)conn.disconnect();
} }
- 封裝一大堆麻煩的InputStream & OutputStream
- @param conn
- @param file
- @throws IOException
private static void doDataOutput(HttpURLConnection conn,File file) throws IOException{
DataInputStream in=null;
DataOutputStream out=null;
try{
out=new DataOutputStream(conn.getOutputStream());
out.writeBytes(twoHyphens + boundary + crlf);
out.writeBytes("Content-Disposition: form-data; name=\"" +
FIELD_NAME + "\";filename=\"" +
file.getName() + "\"" + crlf);
out.writeBytes(crlf);
in = new DataInputStream(new FileInputStream(file));
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
}
out.writeBytes(crlf);
out.writeBytes(twoHyphens + boundary + twoHyphens + crlf);
out.size();
out.flush();
}catch(IOException e){
throw e;
}finally{
try{if(in!=null)in.close();}catch(Exception e){;}
try{if(out!=null)out.close();}catch(Exception e){;}
} }
- 封裝InputStream
- @param conn
- @return
- @throws IOException
private static String doDataInput(HttpURLConnection conn)throws IOException{
BufferedReader reader=null;
try{
try {
reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
} catch (Exception e) {
reader = new BufferedReader(new InputStreamReader(conn.getErrorStream(), "UTF-8"));
}
return reader.readLine();
} catch(IOException e) {
throw e;
} finally {
try{ if(reader!=null)reader.close();
} catch(Exception e){;} } }
return 失敗結果, 以下都有可能. 程式要多加判斷. 除 “成功” 外的, 都是失敗
回傳 空字串
回傳 StackTrace
...