# 取得企業會員員工資料 Custos-EnterpriseAPP-API-001 V2.0 2023-08-11 Custos 企業會員之員工完成登入驗證後,呼叫此 API 產生 token 並紀錄於 APP。 [toc] ## 作業啟動 1. 傳入會員手機號 #phone_num 及使用的 APP 版本 #app_version 2. 記錄 SystemLog:#phone_num|建立 token|作業啟動 ## API 作業啟動 1. 以 #phone_num 查詢 corp_member_emp 與 corp_member_main,確認企業合作關係仍在 (corp_member_main.status = 'Y') 以及員工仍在職 (corp_member_emp.status = 'Y')。==同時取得 corp_member_main.app_version 與 #app_version 比對,若相同則完成登入驗證,同時撈出 corp_member_emp 個人資訊欄位回傳;若不同則回傳 result = 'Z',表示使用者使用之 APP 非該企業所使用之 APP 版本,不予登入。記錄 SystemLog:#phone_num|建立 token|建立失敗,APP 版本不一致。公司版本為 corp_member_main.app_version,用戶手機版本為 #app_version。== 2. 若會員之 emp_id 為 corp_member_main.corp_contact_emp_id,表示此會員為窗口,回傳 is_admin = 'Y' 3. 以 corp_member_emp.corp_data_id 查詢 corp_member_main,取得下列設定值並回傳: (1) corp_member_main.enable_personal_reward,以決定 APP 是否能新增個人 reward (2) corp_member_main.language_setting (以 corp_language_setting 回傳) 以決定使用者新增 marketplace 物件時會出現在哪個地區 4. 以 corp_memeber_emp.data_id 與 corp_memeber_emp.create_date,搭配演算法產生唯一 token,回傳給 APP,用於後續資料檢核 5. 若無資料,則記錄 SystemLog:#phone_num|建立 token|查無該會員資料,該企業已無合作關係或該員工已離職。 6. 有資料 (1) 記錄 SystemLog:#phone_num|建立 token|建立成功,企業流水號:corp_member_main.data_id,員工流水號:corp_member_emp.data_id (2) 寫入該會員最後更新日期 last_login_date 至 corp_member_emp ## 作業結束 記錄 SystemLog:#phone_num|建立 token|作業結束 ## 例外處理 若執行中有發生異常,將攔截到的 exception 訊息記錄 ErrorLog:[YYYYMMDDHHMMSS] EnterpriseAPP-API-001 發生異常:【#攔截到的 exception 訊息】 ## 規格及範例 |API No.|Enterprise-API-001| |-|-| |API Name|getEmpInfo| |URL|${url}/APP/getData/getEmpInfo| |Purpose|取得企業會員員工驗證資訊| |Description|透過 API 驗證使用者是否為簽約企業的員工,並取回 token| |Protocol|JSON over HTTP POST| |Content-Type|application/json| **Request** |參數|型態|必填|長度|說明| |-|-|:-:|:-:|-| |phone_num|String|Y|16|會員手機號碼,由 APP 取出| |app_version|String|Y|45|會員使用之 APP 版本,由 APP 取得| **Response** |參數|型態|必回|說明| |-|-|:-:|-| |result|String|Y|API 執行結果,Y:成功,N:失敗,Z:無法使用| |message|String|N|API 執行失敗的訊息說明| |token|String|Y|有資料則建立唯一 token 回傳;無資料則回傳空字串| |is_admin|String|Y|此會員是否為企業之窗口,Y:是,N:否| |enable_personal_reward|String|Y|企業是否開放個人可新增 reward,Y:是,N:否| |language_setting|String|Y|使用者語系設定| |corp_language_setting|String|Y|企業語系設定| |emp_avatar|String|Y|使用者頭像| |emp_name|String|Y|使用者名稱| |birth_date|Date|Y|使用者生日| |emp_email|String|Y|使用者 email| |self_intro|String|Y|使用者自我簡介| |public_audience_all_custos_clients_setting|String|Y|Marketplace 顯示設定| **Request Sample** ```javascript var input = { "phone_num": "0912345678", "app_version": "custos.tw" } ``` **Response Sample** ```javascript { "result": "Y", //API 結果,Result = Y 時才會有 data 資料 "message": "...", //API 訊息,Ex:"執行失敗,原因:XXXXXXXXX" "token": "...", "is_admin": "N", "enable_personal_reward": "Y", "language_setting" : "zh-TW", "corp_language_setting": "zh-TW", "emp_avatar": "abc.png", "emp_name": "David", "language_setting": "en-SG", "birth_date": "1985-03-16", "emp_email": "david@gmail.com", "self_intro": "...", "public_audience_all_custos_clients_setting": "Y" } ```