NAV
json shell html

AL 校友系統

Response Error Codes

AL1001 登入失敗

AL1002 輸入錯誤

AL1003 請先進行密碼變更

AL1004 不得使用先前密碼

ALA01 - 登入

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/applicant-login

Request

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
  1. 抓學生最新登入資料(資料排序created_at),
  2. 輸入st_no正確 > is_init = 0 > 輸入password正確則登入
  3. 輸入st_no錯誤回傳 AL1002 查無資料
  4. is_init != 0 回傳 AL1003 請先進行密碼變更
  5. 輸入password錯誤回傳 AL1001 登入失敗

Update

2021/08/31

ALA02 - 變更密碼

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/chg-pswd

Request

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
  1. st_no、password_old與該學生最新(判斷 update_time 舊資料學生為 null)資料相符往下進行,否則回傳 AL1002 輸入錯誤
  2. password_new = password_cfm 往下進行,否則回傳 AL1002 輸入錯誤
  3. password_cfm 不得為過去密碼,否則回傳 AL1004 不得使用先前密碼
  4. 驗證無誤新增一筆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

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
  1. receive_email之外輸入條件皆須符合,否則回傳 AL1002 查無資料
  2. 若查詢符合則寄送忘記密碼信到receive_email
  3. 依照當前語系取信件樣板(ALF02 )寄送。 亂數密碼產生方式可以參考"APA11 - 發送忘記密碼"。
  4. en_name 比對時去除全形/半形空格、符號!@#$%^&*()_.-=+~...等、不分大小寫
  5. term_year 前端輸入西元年,與DATABASE比對時要轉成民國年+學期別的組合 EX: 2020 -> 109上、108下
  6. gra_year 資料庫已是西元年,且處理過下學期+1規則
  7. 有資料則更新,否則新增

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

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. 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

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. gra_year、gra_term 合併成 gra_sem
  3. 更新後call ALA16 更新離校辦裡狀態

Update

2021/09/24

ALA06- 取得SPET2資料

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/get-leave

Request

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
  1. 判斷登入身份,失敗回傳 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

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 Email
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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. 更新後call ALA16 更新離校辦理狀態
  3. 額外壓 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

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
  1. 判斷登入身份,失敗回傳 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

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. "新增"SPET3資料到al_history相同欄位。sort_no = 0;fs_other = '';update_time = "yyyy/MM/dd HH:mm:ss" 。
  3. 更新後call ALA16 更新離校辦理狀態

Update

2021/09/24

ALA10 - 取得SPET5資料

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/get-suggest

Request

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗

Update

2021/08/31

ALA11 - 更新SPET5資料

Request範例


{
    "al_suggestion" : "嗨嗨好棒棒"
}

HTTP Request

POST {{frontapi.url}}/v1/al/update-suggest

Request

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. 驗證中英文 字串長度 MAX 300, EX: "AL很棒。"長度即為5

Update

2021/08/31

ALA12 - 下拉內容 - 使用SSA03

取得各下拉選單內容,各選單由每個項目的值與顯示中英文名稱一組的構成陣列。

Request範例



HTTP Request

POST {{frontapi.url}} /v1/al/get-dropdown

Request

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

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. st_st.st_status 用st_no直接取
  3. 判斷每一個步驟的必填欄位是否有值。完成= true:未完成= false。
  4. qu_status打API QUA03帶入 url_key = '4D78DF9E06682D8E80752461549DC0C3'、token 字串帶入 st_no
  5. 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

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. department判斷dep_no
  3. gra_year轉民國年判斷gra_sem
  4. en_name 比對時去除全形/半形空格、符號!@#$%^&*()_.-=+~...等、不分大小寫

Update

2021/08/31

ALA15 - 寄送邀請填寫信

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/send-inviteEmail?locale={locale}

Request

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. 套用信件樣板 ALF01
  3. al_url 取 ss_config
  4. 寄送信件成功後更新 st_st.activity += 1

Update

2021/08/31

ALA16 - 更新離校手續填寫狀態

Request範例



HTTP Request

POST {{frontapi.url}}/v1/al/update-alFilledStatus

Request

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
  1. 判斷登入身份,失敗回傳 AL1001 登入失敗
  2. 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'
  3. ALA05、ALA07、ALA09 執行更新後 call ALA16 func 更新離校辦理狀態

Update

2021/09/24

AP 外國學生申請入學系統

APA01 - 取得AP參數設定

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/config

Request

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

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
  1. index_helper(小幫手檔案): table=ap_link, ref_column=index_helper
  2. index_bg(背景主圖): table=ap_link, ref_column=index_bg
  3. 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

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
  1. apply_end_at = ap_project_dep.exam_end_at 取最大值, 如果沒有值再拿ap_project.apply_end_at => 可開放申請的時間
  2. displayed_apply_end_at = apply_end_at => 顯示在畫面上的截止日

Update

2022/01/10

APA04 - 取得招生簡章

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/prospectus

Request

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
  1. select ap_prospectus: 在公告日期區間(exposure_start_at/exposure_end_at)且顯示於首頁(is_index_visible=1), 取公告日期起始日(exposure_start_at)日期最大的一筆
  2. ch_prospectus(中文簡章): table=ap_link, ref_column=ch_prospectus
  3. 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

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
  1. 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

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
  1. projs: ap_project_dep.is_enrolled=1
  2. sections: ap_section.dep_no = {dep_no}
  3. dep_docs: ap_dep_doc
  4. exams: ap_regulation_exam
  5. 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

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
  1. 需判斷現在時間介於exposure_start_at, exposure_end_at之間

Update

2021/07/27

APA08 - 取得單筆公告

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/single-news

Request

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

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
email 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
  1. 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)
  2. 密碼規則 = passport_no 末6碼
  3. 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_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)
  4. 寄送通知信, 先寄帳號密碼出來, 信件內容會跟承辦人要
  5. 需判斷同一個護照號碼(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

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
  1. 檢查帳號密碼是否符合,且專案是否為可報名專案 select from ap_st left join ap_project where apply_no={apply_no} and password={password} and ap_project.is_index_visible=1
  2. 檢查登入錯誤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

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
email 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
  1. 看ap_st是否有符合資料的學生, 沒有回錯誤碼
  2. 寄送帳密通知信, 同APA09

Update

2021/07/18

APA12 - 取得線上申請進度&申請資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-progress-steps

Request

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
  1. payment_end_at = ap_project_dep.exam_end_at(有值優先;ap_st.apply_dep=ap_project_dep.dep_no) 或 ap_project.apply_end_at
  2. 可進入條件:
    • 報名時間內: ap_project.apply_start_at & payment_end_at
    • 待補件狀態ap_st.apply_status=3
    • 上面兩個條件2擇1, 如果都不符合則回error code (此功能尚未開放)

webfront

  1. apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
  2. 出現error code顯示"此功能尚未開放"
  3. 前台線上申請流程: 填寫申請表 → 繳費 → 上傳推薦信 → 上傳檔案(列印申請表) → 送出

Update

2021/07/12

APA13 - 取得線上申請表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-data

Request

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
  1. apply_end_at來自ap_project; educations來自ap_st_edu; admissions來自ap_st_admission; 其餘來自ap_st
  2. 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

Parameter Type Description
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 [<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
  1. 送出時, 更新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

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
  1. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  2. 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
  3. 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
  4. 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()
  5. 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

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
  1. 一進來將收到的request存到ss_log (eno=-1, category='AP', action='APA16', data=request參數), 程式不做任何處理先存
  2. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  3. call service: getPaymentResult
  4. 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才更新]
  5. 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

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
  1. call service: getPaymentResult
  2. update ap_st:
    • vacc_state = from step1 service

Update

2021/12/16

APA18 - 取得推薦人清單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/recommended-list

Request

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

Parameter Type Description
identity_code? string 沒帶值表示是新增
name string
email 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
  1. identity_code編碼規則可參考舊程式 Application.java 的 getIdentityCode

Update

2021/07/23

APA20 - 刪除推薦人

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/delete-recommended-msg

Request

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
  1. 需比對identity_code是否是登入者所有

Update

2021/07/23

APA21 - 發送推薦人通知

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/send-recommended-msg

Request

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
  1. 需比對identity_code是否是登入者所有
  2. 信件內容請參考舊程式 Application.java 的 buildRecommendMailBody
  3. 信件中推薦人填寫頁面連結: ss_config.oia_domain_webfront + ap_config.ap_webfront_referrals_page_path?id={ap_st_recomm.entity_id}&code={ap_st_recomm.identity_code}
  4. 寄信後更新ap_st_recomm.sending_status=1

Update

2021/07/30

APA22 - 列印線上申請表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/print-application

Request

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
  1. 產出線上申請單格式
  2. 更新ap_st.apply_printed_at = now()

Update

2021/07/23

APA23 - 取得線上申請附件清單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-docs

Request

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
  1. 先取得需上傳的檔案清單:
    • 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學生有上傳的附件
  2. 需過濾掉doc_no=100的資料, 因其移到APA29去更新
  3. md5_code來自ap_st, 回傳給前台顯示左4碼+"-"+右4碼(同APA22)

20210922調整:

  1. ap_dep_doc需要拿reg_version=ap_project_dep.reg_version的那組資料

20230309調整:

  1. docs本來沒有取ch_description、en_description的值, 要多取來自ap_common_doc的值
  2. docs多回傳ch_download_file跟en_download_file,來自ap_link,可以參考後台AP103的報名資料說明編輯頁會比較清楚對應

webfront

Update

2023/03/09

APA24 - 上傳線上申請附件

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/upload-application-docs

Request

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
  1. 附件儲存路徑 /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

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
  1. 送出時, 更新ap_st: apply_status = '0' & apply_at=now()

Update

2021/07/23

APA26 - 取得審查結果

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-result

Request

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
  1. 判斷目前是否介於result_start_at, result_end_at之間, 不符合回error code
  2. 回傳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

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
  1. 取出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

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

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
  1. 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

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

Update

2021/07/27

APA31 - 取得圖片/檔案內容

此為公開檔案, 用於前台最新消息、中英文簡章、首頁小幫手檔案與背景主圖

Request範例



HTTP Request

GET {{frontapi.url}}/v1/ap/dl?id={entity_id}

Request

Parameter Type Description
id int ap_link.entity_id

Response

return binary file

Response Error Codes

(N/A)

Logic

TABLE

table Description
ap_link
  1. 需檢查ap_link: entity_id={entity_id} 且ref_table != (ap_st or ap_st_doc)
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/07/27

APA32 - 取得需驗證身分檔案/圖片

此檔案需驗證登入者身分, 用於前台線上申請

Request範例



HTTP Request

GET {{frontapi.url}}/v1/ap/private-dl?token={preview_token}&id={entity_id}

Request

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/07/27

APA33 - 取得推薦人填寫頁面資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ap/referrer-data

Request

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
  1. 要比對entity_id跟identity_code都符合才行
  2. referrer來自ap_st_recomm
  3. 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

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
  1. 要比對entity_id跟identity_code都符合才行
  2. 要writing_status=0才能編輯
  3. 如果傳入的值writing_status=1, 要檢查是否有上傳檔案, 沒上傳檔案要回error code
  4. 檔案路徑= /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

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
  1. 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

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
  1. content:sc_ckeditor.config_val
    config_key 組合:
    _locale = zh-tw => ch, _locale = en => en
    issel_rewarded = Y => y,issel_rewarded = N/null => n
  2. issel_rewarded:ap_st.issel_rewarded
  3. name:ap_st,依據 _locale 帶 ch_name (zh-tw) 或 en_name (en)
  4. proj_name:ap_project,依據 _locale 帶 proj_name (zh-tw) 或 proj_en_name (en)
  5. 判斷時間是否在 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

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間 (開放報名時間),不在則回錯誤碼

[前台]

  1. Step1: 我確定報到皆可進入該頁面,無意願就讀
  2. Step2: 需填寫過 Step1,progress_status >= 1
  3. Step3: 需填寫過 Step2,progress_status >= 2
  4. Step4: 需填寫過 Step3,progress_status >= 3

Update

2021/09/08

APA38 - 取得二次報到身分資格(正取生)

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application2-status

Request

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
  1. 判斷時間是否在 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

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  2. 更新 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
  3. 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

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  2. Request 欄位更新在 ap_st
  3. 若 ap_st.progress_status < 1,則壓 progress_status = 1

Update

2021/09/28

  1. 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
  2. Request 移除 acp1

APA41 - 取得正取生報到問卷

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-survey

Request

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼

Update

2021/09/28

  1. Response 移除 acp1

APA42 - 送出正取生學籍資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/edit-st

Request

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 夜間電話
email 電子信箱
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
  1. profile_image 附件儲存路徑 /ar/profile_image/{ap_st.proj_no}/{ap_st.apply_no}.副檔名
  2. 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)
  3. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  4. 若 ap_st.progress_status < 2,則壓 progress_status = 2

Update

2021/09/28

  1. 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
  2. 更改 profile_image 位置 /ar/profile_image/{ap_st.apply_no}.副檔名
  3. reqest 加上 comm_address_zip & house_address_zip

2021/10/15

更新 profile_image 附件儲存路徑

APA43 - 取得正取生學籍資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-st

Request

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
  2. profile_image:ap_link
  3. section:ap_section
  4. visa_no 和 gra_sch_name 以下的欄位:ap_st_studata

Update

2021/09/28

  1. response 加上 (ap_st_studata) comm_address_zip & house_address_zip

APA44 - 送出申請學校宿舍資料 (宿舍系統)

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/edit-dorm

Request

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
  1. 若 ap_st.progress_status < 3,則壓 progress_status = 3

  2. 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

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

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
  1. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
  2. 更新 ap_st.willing,ap_st.willing_date=今天

Update

2021/08/24

APA47 - 送出正取生二階段報到意願

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application2-approve

Request

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
  1. 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼
  2. 更新 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

Parameter Type Description
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 範例

{
    "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
  1. Request 的欄位 email 更新 ap_st,其他都更新在 ap_st_studata
  2. 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼

Update

2021/09/28

  1. Request 加上 comm_address_zip & house_address_zip
  2. 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程

2021/10/05

  1. 修正 email 更新 ap_st

APA49 - 送出正取生線上報到

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application-register

Request

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
  1. 更新 ap_st.is_register_date = 今天, is_register = 1,is_send_survey = 1
  2. 判斷時間是否在 ap_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
  3. 若 ap_st.progress_status < 4,則壓 progress_status = 4

Update

2021/09/28

  1. 加上更新 ap_st.is_register = 1 和 is_send_survey = 1
  2. 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程

APA50 - 送出正取生二階段線上報到

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/application2-register

Request

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
  1. 更新 is_second_register_date = 今天, is_second_register = 1
  2. 判斷時間是否在 ap_project.enroll_second_start_at & enroll_second_end_at,不在則回錯誤碼

Update

2021/09/28

  1. 加上更新 is_second_register = 1
  2. 更改 ap_st 條件,codemaps.ap_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程

APA51 - 取得正取生問卷學生資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/ap/survey-st-data

Request

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
  1. 判斷時間是否在 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

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
  1. 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
  2. 取得ap_st_doc.apply_status=3(待補件) 跟''(ap_st_doc不存在) 的文件
  3. ap_dep_doc需要拿reg_version=ap_project_dep.reg_version的那組資料
  4. 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

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
  1. 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
  2. 附件儲存路徑 /ap/proj/{ap_project.proj_no}/apply/{ap_st.apply_no}/{ap_st_doc.doc_no}.ext
  3. 如果doc_no='115'(推薦信), 要寫入ap_st_recomm (name='BDS', email='x', info='x', sending_status=-1, writing_status=1), ap_link存的檔案路徑規則跟ref_table等要依照APA34的規則
  4. 上傳文件後要更改審查狀態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

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
  1. 需檢查upload_key跟apply_no是否符合, 且圖片確實為該登入者上傳檔案
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/10/04

CN 陸生線上系統

*CNA01 - 取得專案資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/project-info

Request

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
  1. 取得主要專案資訊 (cn_project.ismain=1)

Update

2021/09/10

CNA02 - 登入

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/applicant-login

Request

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
  1. 檢查中國公民身份號碼、生日是否符合。
  2. 檢查專案是否為主要專案,需判定此登入者是"學士" or "碩博士",有不同的報到時間。
  3. 檢查是否確定報到,若已放棄報到,則回傳error code。

Update

2021/08/23

CNA03 - 取得需驗證身分檔案/圖片

此檔案需驗證登入者身分, 用於前台線上報到,學籍資料維護(學生照片)

Request範例



HTTP Request

GET {{frontapi.url}}/v1/cn/private-dl?token={preview_token}&f={link_uri}

Request

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案。

Update

2021/09/02

CNA04 - 取得線上報到進度

應為is_register = '1'

progress_status

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/enroll-progress-steps

Request

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
  1. Step1:我確定報到 or 尚未填寫,皆可進來。我無意願就讀,則無法進入"線上報到"。
  2. Step2:需填寫過Step1才可進來。(progress_status >= 1)
  3. Step3:需填寫過Step2才可進來。(progress_status >= 2)
  4. Step4:需填寫過Step3才可進來。判斷在QU API - QUA03。(progress_status >= 3)
  5. Step5:需填寫過Step4才可進來。(progress_status >= 4)
  6. comfirm_mk = true,所有欄位不可以再被編輯,僅能檢視。

Update

2021/8/31

CNA05 - step1取得報到意願

is_register應為報到意願

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/enroll-offer

Request

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
  1. 我無意願就讀,則無法進入"線上報到"。

Update

2021/09/03

CNA06 - step1編輯報到意願

is_register應為報到意願

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/edit-enroll-offer

Request

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
  1. 存檔時,需確認是否已送出表單(comfirm_mk = true)。若是,則拋錯誤。
  2. 若原先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

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 學生端能更新資料
  1. 我無意願就讀,則無法進入"線上報到"。

Update

2021/09/22

CNA08 - step2編輯學籍資料

應為is_register = '1'

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/edit-enroll-studata

Request

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 通訊資料-電話夜間
email 通訊資料-電子信箱
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 學生端能更新資料
  1. 存檔時,需確認是否已送出表單(comfirm_mk = true)。若是,則拋錯誤。
  2. 存檔時,需確認is_register = '1',才可以讀寫Step2。
  3. 若原先progress_status < 2,則壓成progress_status = 2。
  4. 需壓cn_st_studata.pic_mk = true。

Update

2021/09/03

CNA09 - step3取得宿舍申請

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/enroll-dorm

Request

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
  1. 宿舍資訊需介接宿舍系統。
  2. 我無意願就讀,則無法進入"線上報到"。
  3. 前台需判斷progress_status >= 2,才可以讀寫Step3。

Update

2021/09/08

CNA10 - step3編輯宿舍申請

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/edit-enroll-dorm

Request

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
  1. 宿舍資訊需介接宿舍系統。
  2. 存檔時,需確認是否已送出表單(comfirm_mk = true)。若有,則拋錯誤。
  3. api 需判斷cn_st_studata有無值,才可以讀寫Step3。
  4. 若原先progress_status < 3,則壓成progress_status = 3。

Update

2021/09/03

CNA11 - step5列印學籍記載表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/print-studata

Request

Parameter Type Description
(N/A)

Response範例

{
    "header": {
        "status": "OK"
    },
    "body": {

    }
}

Response

return PDF file

Logic

TABLE

table Description
cn_st_studata
  1. 產出線上申請單格式,每次呼叫api時及時產。

Update

2021/08/25

CNA12 - step5確定送出資料

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/submit-enroll

Request

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
  1. 存檔時,需確認是否已送出表單(comfirm_mk = true)。若有,則拋錯誤。
  2. 需壓cn_st_studata.comfirm_mk, cn_st.is_register_date。
  3. 當成功送出,前台disabled所有欄位,並隱藏所有按鈕(除了 Step5)。

Update

2021/09/03

CNA13 - step4問卷填寫送出

問卷是QU系統,因此需多壓progress_status

Request範例



HTTP Request

POST {{frontapi.url}}/v1/cn/submit-survey

Request

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
  1. 若原先progress_status < 4,則壓成progress_status = 4。

Update

2021/09/03

CR 華語輔導系統

CRA01 - 取得註冊資料

Request範例



HTTP Request

POST {{frontapi.url}}/api/v1/cr/register-data

Request

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

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

Parameter Type Description
(N/A)

QueryString or PathInfo

Parameter Required Description
pkno Yes 編號
user_id Yes 學號
email 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

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

Parameter Type Description
(N/A)

QueryString or PathInfo

Parameter Required Description
pkno yes 編號
user_id yes 學號
email yes email
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

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

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

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

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

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

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

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

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

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

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

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

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

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 來校交換生系統

Postman Collection(右鍵另存新檔)

IEA01 - 取得專案資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/project-info

Request

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
  1. 取得主要專案資訊 (ie_project.ismain=1)
  2. 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

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

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
  1. 需判斷現在時間介於exposure_start_at, exposure_end_at之間

Update

2021/05/07

IEA04 - 取得單筆公告

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/single-news

Request

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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新ie_st: apply_filled_at =now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 先取得ie_common_doc(ie_project.ismain=1)對應的doc_no, 再關聯ie_st_doc取得學生有上傳的附件
  3. 判斷現在是否能編輯, 不行回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)
  4. 新增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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 附件儲存路徑 /ie/proj/{ie_project.proj_no}/apply/{ie_st.apply_no}/{ie_st_doc.doc_no}.副檔名
  3. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷時間是否位於ie_project.result_start_at & result_end_at之間, 否則回錯誤碼

Update

2021/06/01

IEA10 - 取得線上報到狀態

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/enroll-status

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. ie_st_edu只撈is_current=1的資料
  3. 判斷時間是否位於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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 需更新register_at=now()
  3. 判斷時間是否位於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

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code

Update

2021/05/28

IEA13 - 編輯學生資料維護

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/edit-enroll-st-info

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. insurance_file存ie_link, ref_column=insurance_file, 上傳檔案路徑: /ie/st/{ie_st.st_no}/insurance_file.副檔名
  3. 更新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

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code

Update

2021/05/28

IEA15 - 上傳在校心得

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/send-exchange-experience

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. 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

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. 更新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

Parameter Type Description
(N/A)

Response

return PDF file

Response Error Codes

IE1002 token類型不合法

IE1003 找不到ie_st 主檔

Logic

TABLE

table Description
ie_st
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. 讀取ie_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
  3. 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr

Update

2021/05/20

IEA18 - 登入(新生申請)

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/applicant-login

Request

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
  1. 檢查帳號密碼是否符合,且專案是否為主要專案 select from ie_st left join ie_project where apply_no={apply_no} and password={password} and ie_project.ismain=1
  2. 檢查登入錯誤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

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code

Update

2021/05/20

IEA21 - 取得圖片/檔案內容

此為公開檔案, 用於前台最新消息與下載專區

Request範例



HTTP Request

GET {{frontapi.url}}/v1/ie/dl?f={link_uri}

Request

Parameter Type Description
f string ie_link.link_uri

Response

return binary file

Response Error Codes

(N/A)

Logic

TABLE

table Description
ie_link
  1. 需檢查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

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案

Update

2021/05/25

IEA23 - 上傳在校心得照片

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/send-exchange-experience-image

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. exchange_images存ie_link, ref_column: exchange_image, 上傳檔案路徑: /ie/st/{ie_st.st_no}/exchange_images/{file hash}.副檔名
  3. 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的

Update

2021/05/28

IEA28 - 列印線上申請單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/print-application

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 產出線上申請單格式
  3. 更新ie_st.apply_printed_at = now()

Update

2021/06/14

IEA29 - 取得線上申請表: 志願

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/application-dep

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新ie_st: apply_dep_updated_at=now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 如果不在ie_project.apply_start_at & apply_end_at時間內, 或是 ie_st.apply_status!=3, 回error code (此功能尚未開放)

webfront

  1. apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
  2. 出現error code顯示"此功能尚未開放"
  3. apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
  4. 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code

Update

2021/10/13

IEA34 - 送出離校問卷

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ie/send-leave-survey

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(ie), 回error_code
  2. 更新is_send_survey=1

Update

2021/10/13

NP 非姊妹校訪問生系統

Postman Collection(右鍵另存新檔)

NPA01 - 取得專案資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/project-info

Request

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
  1. 取得主要專案資訊 (np_project.ismain=1)
  2. 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

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

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
  1. 需判斷現在時間介於exposure_start_at, exposure_end_at之間

Update

2021/06/01

NPA04 - 取得單筆公告

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/single-news

Request

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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新np_st: apply_filled_at=now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 先取得np_common_doc(np_project.ismain=1)對應的doc_no, 再關聯np_st_doc取得學生有上傳的附件
  3. 判斷現在是否能編輯, 不行回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)
  4. 新增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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 附件儲存路徑 /np/proj/{np_project.proj_no}/apply/{np_st.apply_no}/{np_st_doc.doc_no}.副檔名
  3. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷時間是否位於np_project.result_start_at & result_end_at之間, 否則回錯誤碼

Update

2021/06/01

NPA10 - 取得線上報到狀態

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/enroll-status

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. np_st_edu只撈is_current=1的資料
  3. 判斷時間是否位於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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 需更新register_at=now()
  3. 判斷時間是否位於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

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code

Update

2021/06/01

NPA13 - 編輯學生資料維護

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/edit-enroll-st-info

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. insurance_file存np_link, ref_column=insurance_file, 上傳檔案路徑: /np/st/{np_st.st_no}/insurance_file.副檔名
  3. 更新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

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code

Update

2021/06/01

NPA15 - 上傳在校心得

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/send-exchange-experience

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. 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

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. 更新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

Parameter Type Description
(N/A)

Response

return PDF file

Response Error Codes

(N/A)

Logic

TABLE

table Description
np_st
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. 讀取np_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
  3. 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr

Update

2021/06/01

NPA18 - 登入(新生申請)

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/applicant-login

Request

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
  1. 檢查帳號密碼是否符合,且專案是否為主要專案 select from np_st left join np_project where apply_no={apply_no} and password={password} and np_project.ismain=1
  2. 檢查登入錯誤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

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code

Update

2021/06/01

NPA21 - 取得圖片/檔案內容

此為公開檔案, 用於前台最新消息與下載專區

Request範例



HTTP Request

GET {{frontapi.url}}/v1/np/dl?f={link_uri}

Request

Parameter Type Description
f string np_link.link_uri

Response

return binary file

Response Error Codes

(N/A)

Logic

TABLE

table Description
np_link
  1. 需檢查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

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案

Update

2021/06/01

NPA23 - 上傳在校心得照片

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/send-exchange-experience-image

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. exchange_images存np_link, ref_column: exchange_image, 上傳檔案路徑: /np/st/{np_st.st_no}/exchange_images/{file hash}.副檔名
  3. 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的

Update

2021/06/01

NPA24 - 申請帳號

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/register

Request

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
  1. 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'
  2. 寄送通知信, 通知信範例為 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

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
  1. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  2. 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前三碼
  3. 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
  4. 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()
  5. 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

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
  1. call service: getPaymentResult
  2. 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

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
  1. 一進來將收到的request存到ss_log (eno=-1, category='NP', action='NPA27', data=request參數), 程式不做任何處理先存
  2. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  3. call service: getPaymentResult
  4. 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才更新]
  5. 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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 產出線上申請單格式
  3. 更新np_st.apply_printed_at = now()

Update

2021/06/14

NPA29 - 取得線上申請表: 志願

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/application-dep

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新np_st: apply_dep_updated_at=now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 如果不在np_project.apply_start_at & apply_end_at時間內, 或是 np_st.apply_status!=3, 回error code (此功能尚未開放)
  3. payment_end_at來自np_project

webfront

  1. apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
  2. 出現error code顯示"此功能尚未開放"
  3. apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
  4. 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code

Update

2021/10/13

NPA34 - 送出離校問卷

Request範例



HTTP Request

POST {{frontapi.url}}/v1/np/send-leave-survey

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(np), 回error_code
  2. 更新is_send_survey=1

Update

2021/10/13

OC 僑生線上系統

OCA01 - 取得專案資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/oc/project-info

Request

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
  1. 取得主要專案資訊 (oc_project.ismain=1)

Update

2021/06/07

OCA02 - 申請帳號

Request範例



HTTP Request

POST {{frontapi.url}}/v1/oc/register

Request

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
  1. oc_no, uec_apply_no不可重複

Update

2021/06/25

OCA03 - 登入(新生申請)

Request範例



HTTP Request

POST {{frontapi.url}}/v1/oc/applicant-login

Request

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
  1. 檢查帳號密碼是否符合,且專案是否為主要專案

Update

2021/06/07

OCA04 - 取得線上申請表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/oc/application-data

Request

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

Parameter Type Description
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 [<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

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
  1. 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碼)
  2. 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

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

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
  1. call service: getPaymentResult
  2. 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

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

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:臺灣護照號碼
  1. 需判斷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

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

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

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

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

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

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

  1. 從v_STFSTMD_1100412取得學生科系
  2. 從v_STFSTMM_1120413取得學生是否有雙主修或輔系
  3. 依照上述兩點判斷登入者可報名的專案有哪些
    • 校級:
      1. OE101設定線上起訖時間內
      2. OE105設定開缺名額(oe_sch_quota_history.quota) > 0
      3. 學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料) → 前端阻擋
    • 院系級:
      1. OE102設定線上起訖時間內, 還要看OE106 至少要有一所學校在線上申請起訖時間內(oe_sch_quota_history.apply_sday)
        • 會優先以學校設定的起迄時間為主,學校沒設定時間才會看專案設定的起迄時間(從程式邏輯來看, 不確定承辦人實際需求)
      2. OE106設定開缺名額(oe_sch_quota_history.quota) > 0
      3. 學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料) → 前端阻擋
  4. 前端會判斷學生尚未完成報名(oe_st.apply_status=3 or 9 or 沒資料),才可填寫報名表,否則會顯示「您的申請已送出」

Update

2023/08/25

OEA06 - 校級學校缺額列表

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/oe/getSchoolLackList

Request

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

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

  1. school_quota: 校級來自「105開缺名額」oe_sch_quota_history.quota, 院系級來自「106合約名額」oe_sch.sch_contract_quota。
  2. 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

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

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

  1. 取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

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

  1. apply_status回傳oe_st.apply_status值
  2. apply_status = '9'、emptyString 才會開啟申請步驟,其餘狀態顯示表示已完成送出申請

Request

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

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

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

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

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 - 取得申請志願學校學程選單

  1. 學校剩餘名額 > 0
  2. 學程判斷門檻包含 學程開缺名額 : !=NULL AND >0 者可以申請。 *年級限制: 非 equal 判斷。例如"限大三以上申請"條件即大學三年級以上、碩士、博士都可以申請。 GPA成績: 學生GPA >= 學程GPA。 外語能力相關欄位: 至少其中一項(若有"聽說讀寫文法總分"的需要視為一組外語成績,即"聽說讀寫文法總分"有填值的都要符合) <= 學生外能能力成績 身分別限制 : 學生身分 IN 學程身分別限制。

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/oe/getApplicableSchList

Request

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

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

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 - 取得赴外獎學金申請資料

  1. 4旁聽生 、8選讀生、C在職生、E在職生原住民、H外籍生、I雙聯學制生、K大陸地區學生
  2. 僑生只能申請鼓勵赴外
  3. 校、院、系級中文組不能選學海飛颺、學海惜珠
  4. 國籍台灣 且 赴外國家不為陸港澳者(此條件不在S1沒辦法判斷) 才可以選學海飛颺、學海惜珠
  5. 僑生身分者(oe_st.stfidnt_b= 'F' )排除D晨光獎學金 #0018938

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/oe/getApplyOsData

Request

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

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

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

  1. is_os_need是否為os必上傳
  2. os_type os文件類型(A、B、C、D類)
  3. 每一筆文件增加回傳屬性資料審查狀態apply_status。
  4. 回傳資料來源oe_st_doc.apply_status對應的codemap(key = oe_apply_status)。
  5. 對應不到資料(oe_st_doc)時回傳apply_status = "尚未收件"。

20230614: 多回傳doc_path

Update

2023/06/14

OEA22 - 上傳OE, OS申請檔案

  1. 若為update oe_st_doc,判斷原文件狀態為"待補件"者改壓為"已補件"。

Request範例



HTTP Request

POST {{frontapi.url}}/api/v1/oe/uploadApplyDocs

Request

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

  1. 如果文件同時是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

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

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

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 - 查詢申請狀態 & 補件列表

  1. 顯示oe_st_doc.apply_status = 3/5/9 OR 沒上傳 的文件列表
  2. 用OEA22 進行上傳
  3. uploaded = true/false。待補件 = false;已補件=true。

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/getApplyStatus

Request

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

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

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

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

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

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

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

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

  1. 放棄報到清除保證金帳號 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

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

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 - 狀態維護列表

校級

  1. #{dateNow} >= oe_project.ck_sday
  2. oe_st_wish.is_enroll = 'Y'
  3. oe_st.is_register = '1'
  4. oe_st.deposit_vacc_state = 'Pay'
  5. ISNULL(oe_st.is_abandon, 'N') != 'Y' (20230726移除此條件, 改由前端判斷維護按鈕disabled)

院系

  1. oe_st.ar_status = '1'

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/oe/getStatusList

Request

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 類似OEA44的功能, 只是f傳入的路徑是oe_st_doc.doc_path的值,需要判斷是登入者上傳的資料才能回傳檔案。

Update

2023/06/14

OS 赴外獎學金系統

OSA01 - 取得公告列表

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/os/getNews

Request

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

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

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

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

  1. apply_form_filled: 一律回true (有點怪, 推測是現在沒有欄位能判斷)
  2. apply_form_printed: os_st.printed_time有值回true
  3. documents_uploaded: 當必填檔案都已經上傳, 則回true (現在SQL非常複雜, 建議重寫)
  4. 如果os_st沒有資料, 預設都回false

判斷如果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

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

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

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

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

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

  1. OSA09新增/更新 OS申請表,申請狀態(apply_status)都是壓尚未收件(9)。OSA26才會壓未審查(0)

Update

2021/06/11

OSA10 - 需補件的專案列表

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/os/getResupplyProjects

Request

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

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

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

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

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

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

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

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

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

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

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

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

  1. 會更新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

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

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

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

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

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

  1. OSA09新增/更新 OS申請表,申請狀態(apply_status)都是壓尚未收件(9)。OSA26才會壓未審查(0)

Update

2021/06/11

OSA27 - 取得最新消息附件列表

Request範例



HTTP Request

GET {{frontapi.url}}/api/v1/os/getNewsAttach

Request

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 姊妹校管理

Postman Collection(右鍵另存新檔)

PSA01 - 取得姊妹校清單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ps/school-list

Request

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Update

2021/10/12

PTA19 - 最新消息_查詢結果列表

G - 最新消息。

僅有最新消息有搜尋bar。

※ 加入response >> menu_sno

Request範例



HTTP Request

POST {{frontapi.url}}/v1/pt/G/news-search?_locale={locale}

Request

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

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
  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

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

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

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

排序邏輯:

  1. results 照 ss_codemap.code_category = ps_continent 的 sort_no
  2. countries 照 country_code A -> Z
  3. schools 照 ps_sch.en_name A -> Z
  4. 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

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

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

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

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

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

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
  1. ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
  2. 計算 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

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

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

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

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

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

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

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
  1. ps_sch_contract.cnt_scope = ss_sch.code_key,取得 ss_sch.sch_lv
  2. 計算 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

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

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

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

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

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

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

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 系統管理

Postman Collection(右鍵另存新檔)

SSA03 - 取得代碼設定(ss_codemap)

Request範例


{
    "prefix_categories" : ["st", "oia"]
}

HTTP Request

POST {{frontapi.url}}/v1/ss/codemap-list

Request

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

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

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

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

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
  1. degree_no = ss_sch_dep.degree_no
  2. cnt_scope = ss_sch.code_key (ss_sch是有父子關係的table, 如果找到的code_key有對應的子項目也都要撈出來)
  3. ch_name跟en_name請拿ss_sch的值

Update

2021/12/20

SSA08 - 取得院系清單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/ss/col-department-list

Request

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

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

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
  1. index_helper(小幫手檔案): table=tp_link, ref_column=index_helper
  2. index_bg(背景主圖): table=tp_link, ref_column=index_bg
  3. 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

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
  1. apply_end_at = tp_project_dep.exam_end_at 取最大值, 如果沒有值再拿tp_project.apply_end_at => 可開放申請的時間
  2. displayed_apply_end_at = apply_end_at => 顯示在畫面上的截止日

Update

2022/01/10

TPA04 - 取得招生簡章

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/prospectus

Request

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
  1. select tp_prospectus: 在公告日期區間(exposure_start_at/exposure_end_at)且顯示於首頁(is_index_visible=1), 取公告日期起始日(exposure_start_at)日期最大的一筆
  2. ch_prospectus(中文簡章): table=tp_link, ref_column=ch_prospectus
  3. 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

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
  1. 需判斷現在時間介於exposure_start_at, exposure_end_at之間

Update

2021/09/29

TPA08 - 取得單筆公告

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/single-news

Request

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

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
email 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
  1. 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)
  2. 密碼規則 = passport_no 末6碼
  3. insert tp_st: proj_no, apply_no, password, passport_no, email, apply_dep, degree_no, apply_season, apply_section, need_en_taught
    • need_en_taught的值來自tp_regulation.lang_instruction, 規則跟TPA05的判斷類似,如果是en, 則need_en_taught='Y', 不是的話, need_en_taught='N'
      • lang_code對應tp_regulation.lang_instruction
        • lang_instruction=1 & 2 : en
        • lang_instruction=3 : ch
        • lang_instruction=4 : 看tp_section.lang_instruction
  4. 寄送通知信, 先寄帳號密碼出來, 信件內容會跟承辦人要
  5. 需判斷同一個護照號碼(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

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
  1. 檢查帳號密碼是否符合,且專案是否為可報名專案 select from tp_st left join tp_project where apply_no={apply_no} and password={password} and tp_project.is_index_visible=1
  2. 檢查登入錯誤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

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
email 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
  1. 看tp_st是否有符合資料的學生, 沒有回錯誤碼
  2. 寄送帳密通知信, 同TPA09

Update

2021/09/29

TPA12 - 取得線上申請進度&申請資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-progress-steps

Request

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
  1. payment_end_at = tp_project_dep.exam_end_at(有值優先;tp_st.apply_dep=tp_project_dep.dep_no) 或 tp_project.apply_end_at
  2. 可進入條件:
    • 報名時間內: tp_project.apply_start_at & payment_end_at
    • 待補件狀態tp_st.apply_status=3
    • 上面兩個條件2擇1, 如果都不符合則回error code (此功能尚未開放)

webfront

  1. apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
  2. 出現error code顯示"此功能尚未開放"
  3. 前台線上申請流程: 填寫申請表 → 繳費 → 上傳推薦信 → 上傳檔案(列印申請表) → 送出

Update

2021/09/29

TPA13 - 取得線上申請表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-data

Request

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
  1. apply_end_at來自tp_project; educations來自tp_st_edu; admissions來自tp_st_admission; 其餘來自tp_st
  2. 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

Parameter Type Description
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 [<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
  1. 送出時, 更新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

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
  1. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  2. 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
  3. 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
  4. 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()
  5. 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

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
  1. 一進來將收到的request存到ss_log (eno=-1, category='TP', action='TPA16', data=request參數), 程式不做任何處理先存
  2. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  3. call service: getPaymentResult
  4. 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才更新]
  5. 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

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
  1. call service: getPaymentResult
  2. update tp_st:
    • vacc_state = from step1 service

Update

2021/12/16

TPA22 - 列印線上申請表

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/print-application

Request

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
  1. 產出線上申請單格式
  2. 更新tp_st.apply_printed_at = now()

Update

2021/09/29

TPA23 - 取得線上申請附件清單

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-docs

Request

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
  1. 先取得需上傳的檔案清單:
    • 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學生有上傳的附件
  2. 需過濾掉doc_no=100的資料, 因其移到TPA29去更新
  3. md5_code來自tp_st, 回傳給前台顯示左4碼+"-"+右4碼(同TPA22)

webfront

Update

2021/09/29

TPA24 - 上傳線上申請附件

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/upload-application-docs

Request

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
  1. 附件儲存路徑 /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

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
  1. 送出時, 更新tp_st: apply_status = '0' & apply_at=now()

Update

2021/09/29

TPA26 - 取得審查結果

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-result

Request

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
  1. 判斷目前是否介於result_start_at, result_end_at之間, 不符合回error code
  2. 回傳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

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
  1. tp_section要拿reg_version=tp_project_dep.reg_version
  2. deps的ch_name跟en_name請拿ss_sch的值
  3. 需判斷tp_project_dep.exam_end_at是否大於目前時間, 如果tp_project_dep.exam_end_at沒有值, 那個科系就是用tp_project.apply_end_at來判斷
  4. 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

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

Update

2021/09/29

TPA31 - 取得圖片/檔案內容

此為公開檔案, 用於前台最新消息、中英文簡章、首頁小幫手檔案與背景主圖

Request範例



HTTP Request

GET {{frontapi.url}}/v1/tp/dl?id={entity_id}

Request

Parameter Type Description
id int tp_link.entity_id

Response

return binary file

Response Error Codes

(N/A)

Logic

TABLE

table Description
tp_link
  1. 需檢查tp_link: entity_id={entity_id} 且ref_table != (tp_st or tp_st_doc)
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/09/29

TPA32 - 取得需驗證身分檔案/圖片

此檔案需驗證登入者身分, 用於前台線上申請

Request範例



HTTP Request

GET {{frontapi.url}}/v1/tp/private-dl?token={preview_token}&id={entity_id}

Request

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/09/29

TPA37 - 取得一次報到身分資格(正取生或備取生)

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-status

Request

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間 (開放報名時間),不在則回錯誤碼

[前台]

  1. Step1: 我確定報到皆可進入該頁面,無意願就讀
  2. Step2: 需填寫過 Step1,progress_status >= 1
  3. Step3: 需填寫過 Step2,progress_status >= 2
  4. Step4: 需填寫過 Step3,progress_status >= 3

Update

2021/09/08

TPA39 - 送出正取生報到意願

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-approve

Request

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  2. 更新 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
  3. 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

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  2. Request 欄位更新在 tp_st
  3. 若 tp_st.progress_status < 1,則壓 progress_status = 1

Update

2021/09/28

  1. 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
  2. Request 移除 acp1

TPA41 - 取得正取生報到問卷

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-survey

Request

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼

Update

2021/09/28

  1. Response 移除 acp1

TPA42 - 送出正取生學籍資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/edit-st

Request

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 夜間電話
email 電子信箱
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
  1. profile_image 附件儲存路徑 /tr/profile_image/{tp_st.proj_no}/{tp_st.apply_no}.副檔名
  2. req 欄位更新在 tp_st_studata profile_image 更新 tp_link,ref_column=profile_image,另圖片上傳成功時 tp_st_studata.pic_mk 設成 Y (codemaps.tp_studata_pic_mk)
  3. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼
  4. 若 tp_st.progress_status < 2,則壓 progress_status = 2

Update

2021/09/28

  1. 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程
  2. 更改 profile_image 位置 /ar/profile_image/{tp_st.apply_no}.副檔名
  3. reqest 加上 comm_address_zip & house_address_zip

2021/10/15

更新 profile_image 附件儲存路徑

TPA43 - 取得正取生學籍資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-st

Request

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,或者是在 enroll_second_start_at & enroll_second_end_at 之間,不在則回錯誤碼
  2. profile_image:tp_link
  3. section:tp_section
  4. visa_no 和 gra_sch_name 以下的欄位:tp_st_studata

Update

2021/09/28

  1. response 加上 (tp_st_studata) comm_address_zip & house_address_zip

TPA44 - 送出申請學校宿舍資料 (宿舍系統)

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/edit-dorm

Request

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
  1. 若 tp_st.progress_status < 3,則壓 progress_status = 3

  2. 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

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

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
  2. 更新 tp_st.willing,tp_st.willing_date=今天

Update

2021/08/24

TPA49 - 送出正取生線上報到

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/application-register

Request

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
  1. 更新 tp_st.is_register_date = 今天 和 is_register = 1
  2. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at,不在則回錯誤碼
  3. 若 tp_st.progress_status < 4,則壓 progress_status = 4

Update

2021/09/28

  1. 加上更新 tp_st.is_register = 1
  2. 更改 tp_st 條件,codemaps.tp_is_register 加上有意願報到狀態 (6),改用此判斷是否有完成填寫報到流程

TPA51 - 取得正取生問卷學生資料

Request 範例



HTTP Request

POST {{frontapi.url}}/v1/tp/survey-st-data

Request

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
  1. 判斷時間是否在 tp_project.enroll_start_at & enroll_end_at 之間,不在則回錯誤碼

Update

2021/09/15

TPA52 - 取得缺件文件清單

缺件連結使用

Request範例



HTTP Request

POST {{frontapi.url}}/v1/tp/lack-docs

Request

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
  1. 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
  2. 取得tp_st_doc.apply_status=3(待補件) 跟''(tp_st_doc不存在) 的文件
  3. 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

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
  1. 驗證upload_key跟apply_no是否符合, 不符合回錯誤碼
  2. 附件儲存路徑 /ap/proj/{tp_project.proj_no}/apply/{tp_st.apply_no}/{tp_st_doc.doc_no}.ext
  3. 如果doc_no='115'(推薦信), 要寫入tp_st_recomm (name='BDS', email='x', info='x', sending_status=-1, writing_status=1), tp_link存的檔案路徑規則跟ref_table等要依照TPA34的規則
  4. 上傳文件後要更改審查狀態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

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
  1. 需檢查upload_key跟apply_no是否符合, 且圖片確實為該登入者上傳檔案
  2. 需處理中文檔名&檔名包含空白問題

Update

2021/10/04

VS 校級來校訪問生系統

Postman Collection(右鍵另存新檔)

VSA01 - 取得專案資訊

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/project-info

Request

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
  1. 取得主要專案資訊 (vs_project.ismain=1)
  2. 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

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

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
  1. 需判斷現在時間介於exposure_start_at, exposure_end_at之間

Update

2021/06/01

VSA04 - 取得單筆公告

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/single-news

Request

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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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)
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新vs_st: apply_filled_at=now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 先取得vs_common_doc(vs_project.ismain=1)對應的doc_no, 再關聯vs_st_doc取得學生有上傳的附件
  3. 判斷現在是否能編輯, 不行回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)
  4. 新增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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 附件儲存路徑 /vs/proj/{vs_project.proj_no}/apply/{vs_st.apply_no}/{vs_st_doc.doc_no}.副檔名
  3. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷時間是否位於vs_project.result_start_at & result_end_at之間, 否則回錯誤碼

Update

2021/06/01

VSA10 - 取得線上報到狀態

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/enroll-status

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. vs_st_edu只撈is_current=1的資料
  3. 判斷時間是否位於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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 需更新register_at=now()
  3. 判斷時間是否位於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

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code

Update

2021/06/01

VSA13 - 編輯學生資料維護

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/edit-enroll-st-info

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. insurance_file存vs_link, ref_column=insurance_file, 上傳檔案路徑: /vs/st/{vs_st.st_no}/insurance_file.副檔名
  3. 更新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

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code

Update

2021/06/01

VSA15 - 上傳在校心得

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/send-exchange-experience

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. 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

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. 更新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

Parameter Type Description
(N/A)

Response

return PDF file

Response Error Codes

(N/A)

Logic

TABLE

table Description
vs_st
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. 讀取vs_st的leave_sch_at, leave_tw_at, leave_apply_at, leave_reason來產出離校申請單格式
  3. 離校申請單範本在 https://drive.google.com/drive/folders/1lYWwnNR3c5vCGBWHoLeY3DizLJlCDEJr

Update

2021/06/01

VSA18 - 登入(新生申請)

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/applicant-login

Request

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
  1. 檢查帳號密碼是否符合,且專案是否為主要專案 select from vs_st left join vs_project where apply_no={apply_no} and password={password} and vs_project.ismain=1
  2. 檢查登入錯誤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

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code

Update

2021/06/01

VSA21 - 取得圖片/檔案內容

此為公開檔案, 用於前台最新消息與下載專區

Request範例



HTTP Request

GET {{frontapi.url}}/v1/vs/dl?f={link_uri}

Request

Parameter Type Description
f string vs_link.link_uri

Response

return binary file

Response Error Codes

(N/A)

Logic

TABLE

table Description
vs_link
  1. 需檢查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

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
  1. 需檢查token合法性, 且圖片確實為該登入者上傳檔案

Update

2021/06/01

VSA23 - 上傳在校心得照片

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/send-exchange-experience-image

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. exchange_images存vs_link, ref_column: exchange_image, 上傳檔案路徑: /vs/st/{vs_st.st_no}/exchange_images/{file hash}.副檔名
  3. 如果有帶entity_id, 則移除之前上傳的圖片, 增加新的

Update

2021/06/01

VSA24 - 申請帳號

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/register

Request

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
  1. 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'
  2. 寄送通知信, 通知信範例為 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

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
  1. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  2. 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前三碼
  3. 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
  4. 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()
  5. 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

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
  1. call service: getPaymentResult
  2. 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

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
  1. 一進來將收到的request存到ss_log (eno=-1, category='VS', action='VSA27', data=request參數), 程式不做任何處理先存
  2. 判斷如果payment_src='00', 回錯誤碼表示已完成付款
  3. call service: getPaymentResult
  4. 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才更新]
  5. 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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 產出線上申請單格式
  3. 更新vs_st.apply_printed_at = now()

Update

2021/06/14

VSA29 - 取得線上申請表: 志願

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/application-dep

Request

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 判斷現在是否能編輯, 不行回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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新vs_st: apply_dep_updated_at=now()
  3. en_name儲存時, 需轉成全大寫
  4. 判斷現在是否能編輯, 不行回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
  5. 附件儲存路徑 /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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 送出時, 更新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

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
  1. 此功能為新生申請, 如access_token身分為舊生(sso), 回error_code
  2. 如果不在vs_project.apply_start_at & apply_end_at時間內, 或是 vs_st.apply_status!=3, 回error code (此功能尚未開放)
  3. payment_end_at來自vs_project

webfront

  1. apply_status = 3 or 9可以編輯, 其餘狀態顯示您已送出申請
  2. 出現error code顯示"此功能尚未開放"
  3. apply_filled_at & apply_dep_updated_at 有值才能進入列印申請表/繳費/上傳檔案
  4. 前台線上申請流程: 填寫申請表 → 填寫志願 → 列印申請表 → 繳費 → 上傳檔案 → 送出

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

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code

Update

2021/10/13

VSA34 - 送出離校問卷

Request範例



HTTP Request

POST {{frontapi.url}}/v1/vs/send-leave-survey

Request

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
  1. 此功能為在校生功能, 如access_token身分為新生(vs), 回error_code
  2. 更新is_send_survey=1

Update

2021/10/13

後台寫作風格

(一) 資料夾結構

各系統代號 分資料夾,皆為小寫。

常用檔案

共用程式

(二) 畫面排版

分成 index.ftledit.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



<!-- 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

(三) 元件-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>
  1. 般查詢類
    <table class="table table-striped table-bordered table-hover"></table>
  2. 報表類
    <table class="table table-striped table-bordered table-hover nowrap"></table>
  3. 全選類
    <table class="table table-striped table-bordered table-hover table-checkable"><table>
    <label class="mt-checkbox mt-checkbox-outline mt-checkbox-single"></label>
  4. 收合類

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測試專區

  1. 中信卡前八碼: 4311-9510-XXXX-XXXX

    例如: 4311951012345678

  2. CVV: 三碼亂打

  3. 效期:不過期就可以

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

Method

Parameter Type Description
vaccNo String 繳費帳號前13碼
fee Integer 繳費金額

Return

Type Description
String 虛擬帳號
14碼

連接付款頁面(Paypage)

Class

Method

Parameter Type Description
vacc14 String 虛擬繳費帳號(完整14碼虛擬帳號)
payType String 付款代碼
fee Integer 繳費金額
dueDate String 繳費期限
yyyyMMdd
paymentName String 費用名稱
paymentItemId String 繳費項目ID (說明: 打oia pg api時一律填入vacc14)
paymentUser String 繳款人識別ID (准考證號、學號…等可供識別的代碼)
paymentUserNAME String 繳款人姓名
oiaReturnUrl String Return URL
ex: /ie/{project_no}/{apply_no}

規則:

  1. 各系統傳入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

Method

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

Dorm_FreshmanApply

Dorm_DormQuota

Dorm_Dormitory

N : 研究生新生

F : 大學生新生

當degree_no = U時,apply_stdttype = F否則都帶N

----------StudentDormitory API----------

取回宿舍列表(名額限制)

Class

Method

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

Method

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

Method

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

Method

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

Method

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 = "*****";

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();

} }

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){;}

} }

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

...