# User API List 0. **常數定義** - [租戶類別](#租戶類別) 1. **取得個人資訊及權限** - [GET /{contextPath}/user/profile](#1-取得個人資訊及權限) 2. **驗證密碼** - [POST /{contextPath}/checkpassword](#2-驗證密碼) 3. **根據疾病類型取得醫師名單** - [GET /{contextPath}/user/getDoctorsByDiseaseType](#3-根據疾病類型取得醫師名單) 4. **使用者變更密碼** - [POST /{contextPath}/user/changePassword](#4-使用者變更密碼) 5. **使用者功能選單** - [GET /{contextPath}/user/menu](#5-使用者功能選單) 6. **透過googleGeoApi解析地址** - [GET /{contextPath}/householdMember/address/parse](#6-透過googleGeoApi解析地址) 7. **透過疾病/區域取得個案數量** - [POST /{contextPath}/caseGis/getGisInfos](#7-透過疾病/區域取得個案數量) 8. **修改個人資訊及權限** - [POST /{contextPath}/user/profile/update](#8-修改個人資訊及權限) 9. **取得服務設定列表** - [GET /{contextPath}/user/feature/list](#9-取得服務設定列表) 10. **啟用服務機構** - [POST /{contextPath}/user/serviceTenant/on](#10-啟用服務機構) 11. **停用服務機構** - [POST /{contextPath}/user/serviceTenant/off](#11-停用服務機構) 12. **服務項目設定機構** - [POST /{contextPath}/user/serviceFeature/bind](#12-服務項目設定機構) 13. **服務項目解除機構** - [POST /{contextPath}/user/serviceFeature/unbind](#13-服務項目解除機構) 14. **設定服務機構編號** - [POST /{contextPath}/user/service-tenant/set-employee-no](#14-設定服務機構編號) --- API Require Headers: ```javascript { Content-Type: 'application/json', Accept: 'application/json', Authorization: accessToken, } ``` --- ## 常數定義 ### 租戶類別 欄位 | 型態 | 說明 ---|---|--- tenantType | string | 組織機構(租戶/企業客戶)類別, DEALER: 經銷單位, HOSPITAL:醫療機構, WMT:緯創醫學, BUSINESS:企業客戶, AD:廣告商 --- ## 1. 取得個人資訊及權限 ```url GET /user/profile ``` ### 用於: * 取得個人資訊 * 依照權限顯示需要的資訊 * 取得角色及權限 ### Response Body: | Parameter | format | desc | | --------- | -------- |--------| | tenantType|String|參閱[租戶類別](#租戶類別)| | functions |Array\<String>|可使用功能列表| | roles|Array\<Object>|角色列表(角色使用者無須顯示)| | idCardNo|String| 身分證字號 | | divisionName|String| 科別名稱(只有角色使用者需顯示)| | telephone|String| 電話(租戶管理員、平台館理員、企客管理員、角色使用者才有)| | userId|String|使用者帳號| | medicalStaffId|String| 醫護人員 Id| | accountId|String|帳號 Id| | isSupportedHouseholdImport|Boolean|該系統中目前是否允許家戶匯入| | name|String|使用者姓名| | tenantId|String| 組織機構 Id| | tenantName|String|組織機構名稱| | tenantRoleName|String| 租戶角色名稱 (只有角色使用者需顯示)| | tenantRoleId|String|租戶角色 Id| | hasMemberOnlyAds|Boolean|是否有會員專屬廣告| | gender | int | 性別, 1:男, 2:女 | | age | int | 年齡 | | bodyHeight | float | 身高 | | address | String | 地址 | | areaLevel1 | String | 地址AreaLevel1 | | areaLevel2 | String | 地址AreaLevel2 | | birthDate | Date | 生日 | | bloodType | String | 血型 | | waist | int | 腰圍 | | hips | int | 臀圍 | | hasHealthReminds|Boolean|是否有健康叮嚀| | features | Json Array | 已啟用服務json array | |tenantHealthPromote|json Array|企業健促列表| | tenantInfoList | Json Array | 個案租戶json array | | businessInfoList | Json Array | 企業租戶json array | | suggestDietPlanPlateId | string | 目前使用的我的餐盤id | | diaryRecordType | string | 飲食記錄方式, DIET_PLAN: 我的餐盤, FOOD_DB:食品資料庫 | | member_card_level | string | 會員卡等級, 請參閱[會員卡類型](https://hackmd.io/kvZLCMSqSpW159tkxEVKmg?view#%E6%9C%83%E5%93%A1%E5%8D%A1%E9%A1%9E%E5%9E%8B) | | member_card_level_seq| int | 會員卡等級序號, 請參閱[會員卡類型](https://hackmd.io/kvZLCMSqSpW159tkxEVKmg?view#%E6%9C%83%E5%93%A1%E5%8D%A1%E9%A1%9E%E5%9E%8B) | #### Response-roles | Parameter | format | desc | | --------- | -------- |--------| | roleId | String | 角色編號 | | roleNameTw | String | 角色中文名稱 | #### Response-features | Parameter | format | desc | | --------- | -------- |--------| | code | String | 服務項目代碼 | | name | String | 服務項目名稱 | | tenantId | String | 提供服務項目租戶id | | tenantName | String | 提供服務項目租戶名稱 | #### Response-tenantInfo | Parameter | format | desc | | --------- | -------- |--------| | featureList | json array | 功能列表, 參考[feature結構](#Response-features) | | userFeatureList | json array | 使用者設定功能列表, 參考[feature結構](#Response-features) | | tenantId | String | 租戶id | | tenantName | String | 租戶名稱 | | tenantShortName | String | 租戶暱稱 | #### Response-tenantHealthPromoteList | Parameter | format | desc | | --------- | -------- |--------| | id | String | 企業健促設定ID | | title | String | 企業健促設定名稱 | | url | String | 企業設定縮圖 | | rank | Int | 排行名次 | - 系統管理員 - name - userId - accountId - tenantName - roles#roleNameTw - features - 平台管理員、租戶管理員、企客管理員 - name - userId - accountId - tenantName - roles#roleNameTw - telephone - features - 角色使用者 - name - userId - accountId - idCardNo - tenantRoleName - divisionName - telephone - tenantName - features - 一般民眾(App User) - name - userId - accountId - idCardNo - telephone - tenantName - gender - age - bodyHeight - address - areaLevel1 - areaLevel2 - birthDate - bloodType - waist - hips - manageableDiseases - hasMemberOnlyAds - hasHealthReminds - features - tenantHealthPromote ### Response Body Example for WEB: 以角色使用者為例: ```javascript { "httpCode": 200, "result": { "data": { "tenantType": "DEALER", "hasMemberOnlyAds": false, "functions": [ "/vpnCaseGeneral/add", "/sport/walk/{id}", "/appointment/detail", "/casePatient/drug/detail/update", ... ], "roles": [ { "roleId": "TENANT_ROLE_USER", "roleNameTw": "租戶角色使用者" } ], "idCardNo": "D123456789", "divisionName": "外科", "telephone": "123", "userId": "chen@yy.pp", "medicalStaffId": "7a17be34-13ae-4687-b971-1e5f586c8e3a", "accountId": "7a17be34-13ae-4687-b971-1e5f586c8e3a", "isSupportedHouseholdImport": true, "tenantName": "緯緯醫學", "name": "w", "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc", "tenantRoleName": "腳科醫生", "tenantRoleId": "2ad9aaad-f651-4d8d-9309-e015c0fb24d3", "features": [ { "code": "SOS", "name": "緊急救援" } ] } } } ``` 以一般民眾(App User)為例: ```javascript { "httpCode": 200, "result": { "data": { "gender": 1, "hasMemberOnlyAds": false, "functions": [ "/ad/info", "/event/list", "/healthEdu/info", "/voucher/redeem", "/health-remind/read-all", ... ], "roles": [ { "roleId": "GENERAL_PUBLIC", "roleNameTw": "一般民眾" } ], "idCardNo": "Q101540463", "bodyHeight": 173, "areaLevel2": "Xinyi District", "areaLevel1": "Taipei City", "medicalStaffId": "6ec4bd89-633a-4f67-be6e-01172f92223e", "features": [ { "code": "SOS", "name": "緊急救援", "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc", "tenantName": "緯緯醫學", } ], "tenantInfoList": [ { "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc", "tenantName": "緯緯醫學", "tenantShortName": "緯醫", "featureList": [ { "code": "SOS", "name": "緊急救援" }, { "code": "STEP_RANKING", "name": "步數排行" } ], "tenantHealthPromoteList": [ { "url": "http://10.31.104.23/swift/v1/AUTH_test/kmuh/tenant_health_promote/ae0f0873-7ed2-424c-af12-06872d8b8db2.png?temp_url_sig=79f6c879613e5b62841ce46f9db888d2a9b710c5&temp_url_expires=1689064884", "id": "f4e01278-9908-4a22-84e3-f040912b56bc", "title": "test12", "rank": 2, "tenantIds": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc" } ] } ], "businessInfoList": [] "tenantName": "緯緯醫學", "isDefaultPassword": false, "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5", "tel": "0925309365", "email": "", "manageableDiseases": [ { "diseaseId": "General", "diseaseType": "General" }, ... ], "address": "台北市衛生局調查研究", "telephone": "0925309365", "userId": "0925309365", "birthDate": "1988/05/07", "accountId": "6ec4bd89-633a-4f67-be6e-01172f92223e", "isSupportedHouseholdImport": true, "name": "蘇XX", "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc", "hasHealthReminds": true, "age": 33, "diaryRecordType": "DIET_PLAN", "member_card_level": "NORMAL", "member_card_level_seq": 1, "suggestDietPlanPlateId": "b2f0701d-91ef-456c-9282-2abea10a2a43", } } } ``` ## 2. 驗證密碼 ```url POST /checkpassword ``` ### 用於: * 驗證密碼是否正確 ### Request Body: | Parameter | Required | format | desc | | --------- | -------- | -------- |-------- | | password | Y | String | 登入密碼 | ### Request Body Example: ```javascript { "password": "xxxxxxxxxx", } ``` ### Response Body: | Parameter | format | desc | sort supported| | --------- | -------- |--------|-------- | | isPass | boolean | 密碼是否正確 | N | ### Response Body Example: ```javascript { "httpCode": 200, "result": { "data": { isPass: true, } } } ``` ### Error Response Body: | errorMsg | errorMsg describe | | --------- | -------- | | UNKNOWN_LOGIN_TYPE | 未知的登入類別,參考上面 [loginType](#logintype) | | ACCOUNT_OR_PASSWORD_ERROR | 帳號或密碼錯誤 | ### Error Response Body Example: ```javascript { "errorMsg": "ACCOUNT_OR_PASSWORD_ERROR", "httpCode": 400 } ``` ```javascript { "errorMsg": "UNKNOWN_LOGIN_TYPE", "httpCode": 400 } ``` ## 3. 根據疾病類型取得醫師名單 ```url GET /user/getDoctorsByDiseaseType?diseaseType=${diseaseType} ``` ### 用於: * VPN收案列表中的新增個案 ### Request Params: | Parameter | Required | format | desc | | --------- | -------- | -------- |-------- | | diseaseType | Y | String | [疾病類型](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#%E7%96%BE%E7%97%85%E9%A1%9E%E5%88%A5) | ### Response Body: | Parameter | format | desc | | --------- | -------- |--------| | medicalStaffId | String | 醫療人員Id | | userName | String | 姓名 | | idCardNo | String | 身分證字號 | ### Response Body Example: ```javascript { "httpCode": 200, "result": { "data": [ { "medicalStaffId": "fbc9d26e-4cfc-4de1-85d2-bc9d560a1289", "userName": "那瑪夏區衛生所醫師", "idCardNo": "A100766139" } ] } } ``` ## 4. 使用者變更密碼 ```url POST /user/changePassword ``` ### 用於: * 使用者變更密碼(系統管理員、區域管理員、一般使用者) ### Request Body: | Parameter | Required | format | desc | | --------- | -------- | -------- |-------- | | oldPassword | Y | String | 舊的登入密碼 | | password | Y | String | 新的登入密碼 | | rePassword | Y | String | 在輸入一次新的登入密碼(只有 Web 需要此參數) | ### Request Body Example: Web: ```javascript { "oldPassword": "KKpu9U6txyPMnqtLHwIbEQ==", "password": "4mF1LP9FXFLxNWBtYakE6g==", "rePassword": "4mF1LP9FXFLxNWBtYakE6g==" } ``` ### Response Body: | Parameter | format | desc | sort supported| | --------- | -------- |--------|-------- | | count | Integer | 更新數量 | N | ### Response Body Example: ```javascript { "httpCode": 200, "result": { "data": { count: 1, } } } ``` ## 5. 使用者功能選單 ```url GET /user/menu ``` ### Request: ### Response: | 欄位 | 型態 | 說明 | |---|---|---| | id | string | 功能選單Id | | name | string | 功能選單名稱 | | i18n | string | i18n | | menu | json array | 子功能選單json array | | parentId | string | 父功能選單id | | read | bool | true 表示啟用 | ```javascript { "httpCode": 200, "result": { "data": { "EDUCATION_MANAGEMENT": { "id": "EDUCATION_MANAGEMENT", "name": "衛教資訊管理", "i18n": "MENU.EDUCATION_MANAGEMENT", "level": 0, "read": false, "menu": [ { "id": "EDUCATION_LIST", "name": "衛教資訊列表", "i18n": "MENU.EDUCATION_LIST", "parentId": "EDUCATION_MANAGEMENT", "level": 1 } ] }, "CASE_MANAGEMENT": { "id": "CASE_MANAGEMENT", "name": "個案追蹤管理", "i18n": "MENU.CASE_MANAGEMENT", "level": 0, "read": false, "menu": [ { "id": "CASE_CALENDAR", "name": "排程行事曆", "i18n": "MENU.CASE_CALENDAR", "parentId": "CASE_MANAGEMENT", "level": 1 }, { "id": "CASE_OVERVIEW", "name": "個案總覽", "i18n": "MENU.CASE_OVERVIEW", "parentId": "CASE_MANAGEMENT", "level": 1 }, { "id": "CASE_LIST", "name": "個案名單", "i18n": "MENU.CASE_LIST", "parentId": "CASE_MANAGEMENT", "level": 1 }, { "id": "CASE_ANNUAL_STATISTIC", "name": "指標分析", "i18n": "MENU.CASE_ANNUAL_STATISTIC", "parentId": "CASE_MANAGEMENT", "level": 1 }, { "id": "CASE_CARE", "name": "個案關懷", "i18n": "MENU.CASE_CARE", "parentId": "CASE_MANAGEMENT", "level": 1 }, { "id": "CASE_GIS", "name": "個案GIS", "i18n": "MENU.CASE_GIS", "parentId": "CASE_MANAGEMENT", "level": 1 } ] }, "INTELL_DIST_SERVICE": { "id": "INTELL_DIST_SERVICE", "name": "遠距智能服務", "i18n": "MENU.INTELL_DIST_SERVICE", "level": 0, "read": false, "menu": [ { "id": "INTELL_DIST_CONSULT", "name": "諮詢服務", "i18n": "MENU.INTELL_DIST_CONSULT", "parentId": "INTELL_DIST_SERVICE", "level": 1 }, { "id": "INTELL_DIST_WOUND_PATIENT", "name": "傷口照顧管理", "i18n": "MENU.INTELL_DIST_WOUND_PATIENT", "parentId": "INTELL_DIST_SERVICE", "level": 1 }, { "id": "INTELL_DIST_HEALTH", "name": "個人健康管理", "i18n": "MENU.INTELL_DIST_HEALTH", "parentId": "INTELL_DIST_SERVICE", "level": 1 } ] } } } } ``` ## 6. 透過googleGeoApi解析地址 ```url GET /householdMember/address/parse ``` ### Request: GET /householdMember/address/parse?address=屏東縣屏東市廣東南路 ### Response: | 欄位 | 型態 | 說明 | |---|---|---| | address | string | 輸入的地址原文 | | areaLevel1 | string | 第一階分區(屏東縣/台北市) | | areaLevel2 | string | 第二階段分區(屏東市/東區) | ```javascript // 解析失敗 { "httpCode": 200, "result": { "data": {} } } // 解析成功 { "httpCode": 200, "result": { "data": { "address": "屏東市台糖二街", "areaLevel2": "Pingtung City", "areaLevel1": "Pingtung County" } } } ``` ## 7. 透過疾病/區域取得個案數量 ```url POST /caseGis/getGisInfos ``` ### Request Params: | Parameter | Required | format | desc | | --------- | -------- | -------- |-------- | | areaLevel1 | N | String | 第一階區域條件, 留空代表要查所有縣市(全台灣) | | diseaseType | N | String | 疾病類型ID | | diseaseStage | N | String | 疾病階段ID | ### Response Body: ### Response: | 欄位 | 型態 | 說明 | |---|---|---| | area | json array | 針對區域做個案數量統計, 第一階區域留空的話, 舊以全台縣市做統計, 第一階區域有設定的話就以該縣市下的第二階區域作統計 | | disease | json array | 以疾病/階段作個案數量統計 | note: area下的name固定為空值, 縣市區的名稱對應表存在前端 ```javascript { "httpCode": 200, "result": { "data": { "area": [ { "id": "Pingtung County", "name": "", "count": 1 } ], "disease": [ { "id": "PreESRD", "name": "PreESRD", "count": 15 }, { "id": "3c36bac4-869a-4a8e-a0f8-065f441284b2", "name": "新疾病", "count": 19 }, { "id": "ECKD", "name": "ECKD", "count": 18 }, { "id": "DM", "name": "DM", "count": 11 }, { "id": "BC", "name": "BC", "count": 25 }, { "id": "General", "name": "General", "count": 69 } ] } } } ``` ## 8. 修改個人資訊及權限 ```url POST /user/profile/update ``` ### Request/Response Attribute | Type | Remark -|-|- idNo | String | 身分證字號 birthDate | String | 生日(yyyy-MM-dd) name | String | 姓名 countryCode | String | 電話國碼, e.g.台灣國碼為+886 telephone | String | 電話 bodyHeight | number | 身高 gender | int | 性別 1:男性/2:女性 address | String | 地址 bloodType | String | 血型(O/AB/A/B) email | String | email waist | int | 腰圍 hips | int | 臀圍 Request: 填寫有修改的欄位即可 ```javascript { "bodyHeight": 175.5, "name": "更新個人5", "birthDate": "2021-02-17", "countryCode": "+886", "telephone": "09123456789", "email": "test@gmail.com", "gender": 1, "address": "高雄市鹽埕區大勇路98號", "bloodType": "O", "waist": 90, "hips": 110 } ``` Response: ```javascript { "httpCode": 200, "result": { "data": { "id": "18c45773-af33-4ae4-a129-9618703032fc", "account": "C188256154", "accountType": "APP", "name": "更新個人5", "role": "GENERAL_PUBLIC", "idNo": "C188256154", "telephone": "09123456789", "email": "test@gmail.com", "status": false, "isFirstLogin": true, "createTime": 1614230493000, "updateTime": 1614924104000 } } } ``` ErrorMsg: 1. 血型不相符,只可以是上述類型 ```javascript { "errorMsg": "API_ERROR.ARGUMENT_ERROR", "errorDesc": "[{\"bloodType\":\"Value is not in expected\"}]", "httpCode": 400 } ``` ## 9. 取得服務設定列表 ```url GET /user/feature/list ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 取得使用者的服務設定列表及狀態 ### Response Body: | Parameter | Format | Desc | | --------- | -------- |--------| | householdMemberId|String| household member id| | businessInfoList|Json Array| 企業租戶 tenantInfo json array| | tenantInfoList|Json Array|一般租戶 tenantInfo json array| #### Response-tenantInfo json | Parameter | Format | Desc | | --------- | -------- |--------| | tenantId|String| 租戶ID| | tenantName|String| 租戶名稱| | tenantShortName|String| 租戶簡稱| | jobStatus|String| 在職狀態(企客)。在職ON,離職EXIT| | serviceStatus|boolean| 對該機構的服務設定狀態。啟用true,停用false| | tenantType | String | 參閱[租戶類別](#租戶類別)| | employeeNo | String | 服務機構編號(員工編號), tenantType='BUSINESS' 時或許會有此欄位| | featureList|Json Array|服務項目 feature json array| | userFeatureList|Json Array|使用者自訂服務項目 feature json array| | tenantHealthPromoteList|Json Array|企業競賽設定清單 json array| #### Response-feature json | Parameter | Format | Desc | | --------- | -------- |--------| | code|String|服務項目code| | name|String|服務項目名稱| | bind|boolean|服務項目是否設定租戶| | isFixed|boolean|服務項目是否為固定項目| | tenantId|String| 租戶ID| | tenantName|String| 租戶名稱| ```javascript { "httpCode": 200, "result": { "data": { "householdMemberId": "8a9e980a-c612-4f87-af07-a97a5f0fbed5", "businessInfoList": [ { "tenantId": "5efcfd67-334e-45b3-bf49-7e52f5172891", "tenantName": "企客第一家", "tenantShortName": "阿氣", "jobStatus":"ON", "serviceStatus":true, "tenantType": "BUSINESS", "employeeNo": "A00001" } ], "tenantInfoList": [ { "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155", "tenantName": "小港醫院", "serviceStatus": false, "featureList": [] }, { "tenantId": "858b7fbb-3ba0-4d49-9882-c893a1ef07dc", "tenantName": "緯緯醫學", "tenantShortName": "緯緯", "serviceStatus": true, "featureList": [ { "code": "SOS", "name": "緊急救援", "bind": true }, { "code": "CONSULT", "name": "諮詢服務", "bind": false } ], "userFeatureList": [] } ] } } } ``` ## 10. 啟用服務機構 ```url POST /user/service-tenant/on ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 服務機構->啟用 ### Request Body: | Parameter | Required | Format | Desc | | --------- | -------- | -------- |-------- | | tenantId | Y | String | 租戶Id | ```javascript { "tenantId":"1af0a4c2-ef73-4385-aa8e-8e7ae8afe155" } ``` ### Response : | Parameter | Format | Desc | | --------- | -------- |-------- | | isSuccess | Boolean | 是否成功 | ```javascript { "httpCode": 200, "result": { "data": { "isSuccess": true } } } ``` ## 11. 停用服務機構 ```url POST /user/service-tenant/off ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 服務機構->停用 * 停用服務機構時,若服務項目有綁定此機構,則會一併解除綁定 ### Request Body: | Parameter | Required | Format | Desc | | --------- | -------- | -------- |-------- | | tenantId | Y | String | 租戶Id | ```javascript { "tenantId":"1af0a4c2-ef73-4385-aa8e-8e7ae8afe155" } ``` ### Response: | Parameter | Format | Desc | | --------- | -------- |-------- | | isSuccess | Boolean | 是否成功 | ```javascript { "httpCode": 200, "result": { "data": { "isSuccess": true } } } ``` ## 12. 服務項目設定機構 ```url POST /user/service-feature/bind ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 服務項目->設定 ### Request Body: | Parameter | Required | Format | Desc | | --------- | -------- | -------- |-------- | | tenantId | Y | String | 租戶Id | | featureCode | Y | String | 服務code | ```javascript { "tenantId":"1af0a4c2-ef73-4385-aa8e-8e7ae8afe155", "featureCode":"SOS" } ``` ### Response: | Parameter | Format | Desc | | --------- | -------- |-------- | | isSuccess | Boolean | 是否成功 | ```javascript { "httpCode": 200, "result": { "data": { "isSuccess": true } } } ``` ## 13. 服務項目解除機構 ```url POST /user/service-feature/unbind ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 服務項目->設定 ### Request Body: | Parameter | Required | Format | Desc | | --------- | -------- | -------- |-------- | | featureCode | Y | String | 服務code | ```javascript { "featureCode":"CONSULT" } ``` ### Response: | Parameter | Format | Desc | | --------- | -------- |-------- | | isSuccess | Boolean | 是否成功 | ```javascript { "httpCode": 200, "result": { "data": { "isSuccess": true } } } ``` ## 14. 設定服務機構編號 ```url POST /user/service-tenant/set-employee-no ``` ### 用於: * APP: 設定-個人化設定-服務設定 * 服務項目->設定 * tenantType='BUSINESS' 時可以呼叫此API設定編號(員工編號) * 該服務機構有啟用時才可以設定 ### Request Body: | Parameter | Required | Format | Desc | | --------- | -------- | -------- |-------- | | tenantId | Y | String | 租戶id | | employeeNo | | String | 編號(員工編號), 最長20字, 若未設定或空字串, 會清除已設定之編號 | ```javascript { "tenantId": "5efcfd67-334e-45b3-bf49-7e52f5172891", "employeeNo": "A00001" } ``` ### Error: httpCode | 錯誤碼 | 說明 --- | --- | --- 400 | API_ERROR.NOT_EXIST | 無此筆資料 400 | API_ERROR.ARGUMENT_ERROR | 輸入參數錯誤, 可參閱 errorDesc 422 | SERVICE_ERROR.USER_SERVICE_TENANT_NOT_ENABLED | 服務機構未啟用 ### Response: | Parameter | Format | Desc | | --------- | -------- |-------- | | count | int | > 0 表示設定成功 | ```javascript { "httpCode": 200, "result": { "data": { "count": 1 } } } ```