---
# System prepended metadata

title: Custos Enterprise API - API-001 取得企業會員員工資料 (新)
tags: [新 API]

---

# 取得企業會員員工資料
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"
}	
```