Web App User Management API
The Web App User Management API allows Web User to manage App Users and Web Users in Web Portal.
Endpoints
# Endpoints
Create org user
創建機構用戶
Request (AddUserDtoReq)
POST /web/users/org
{
"username": "cheapang",
"password": "Password123!",
"phone": "67654321",
"email": "cheapang@example.com",
"districtId": "81f6abaa-2930-11ef-b50f-4a12d8c2d6fc",
"userType": 2,
"level": 2,
"serviceNumber": "123456789",
"staffId": "9fc2e0bc-8917-4c82-9475-efad7356e508",
"nickname": "千鹏",
"gender": "1",
"birthday": "1997-07-01",
"signature": "大笨象會跳舞"
}
Response (AddUserDtoResp)
{
"success": true,
"message": "",
"data": {
"id": "93bd81f4-b9c1-4f80-942c-76ec4f82214d",
"username": "cheaper",
"phone": "67654321",
"nickname": "千鹏",
"email": "cheapang@example.com",
"disabled": false,
"createdAt": "2024-06-19T12:29:14.335698",
"updatedAt": "2024-06-19T12:29:14.335698"
}
}
Create free user
創建無機構用戶
Request (AddFreeUserDtoReq)
POST /web/users/free
{
"username": "gabik",
"password": "Password123!",
"phone": "97654321",
"email": "gabik@example.com",
"districtId": "81f6a9e8-2930-11ef-b50f-4a12d8c2d6fc",
"userType": 1,
"nickname": "賈碧",
"gender": "0",
"birthday": "2010-04-01",
"signature": "島上嘅人全部都係惡魔"
}
Response (AddUserDtoResp)
{
"success": true,
"message": "",
"data": {
"id": "93bd81f4-b9c1-4f80-942c-76ec4f82214d",
"username": "cheaper",
"phone": "67654321",
"nickname": "千鹏",
"email": "cheapang@example.com",
"disabled": false,
"createdAt": "2024-06-19T12:29:14.335698",
"updatedAt": "2024-06-19T12:29:14.335698"
}
}
Org user page
機構用戶分頁
Request (OrgUserPageDtoReq)
POST /web/users/page/org
{
"surveyId": "610f0684-df3a-4222-9530-5fb8d6de6d7e",
"loginID": "examp",
"userTypes": [
2
],
"statuses": [
false
],
"districtIds": [
"81f6abaa-2930-11ef-b50f-4a12d8c2d6fc",
"81f6ac90-2930-11ef-b50f-4a12d8c2d6fc"
],
"staffIds": [
"81f6abaa-2930-11ef-b50f-4a12d8c2d6fc",
"81f6ac90-2930-11ef-b50f-4a12d8c2d6fc"
],
"pagination": {
"page": 1,
"size": 10
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
]
}
Response (OrgUserPageDtoResp)
{
"success": true,
"message": "",
"data": {
"pagination": {
"page": 1,
"size": 10,
"totalItems": 5,
"totalPages": 1
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
],
"items": [
{
"userId": "93bd81f4-b9c1-4f80-942c-76ec4f82214d",
"email": "cheaper@example.com",
"lastLogin": "2024-06-19T16:37:55.171929",
"username": "cheaper",
"phone": "67654321",
"district": "九龍城",
"userType": 2,
"serviceNumber": "123456789",
"staff": "呂渚餁",
"disabled": false,
"status": 1,
"joinedAt": "2024-06-19T12:29:14.335698"
},
{
"userId": "b67b50e3-bd7f-4d79-a788-7a168f4f0a20",
"email": "mhahkPIR@example.com",
"lastLogin": null,
"username": "mhahkPIR",
"phone": null,
"district": "北區",
"userType": 2,
"serviceNumber": "12345678",
"staff": "史大督",
"disabled": false,
"status": 1,
"joinedAt": "2024-06-13T12:26:08.765752"
}
]
}
}
Free user page
無機構用戶分頁
Request (FreeUserPageDtoReq)
POST /web/users/page/free
{
"surveyId": "610f0684-df3a-4222-9530-5fb8d6de6d7e",
"loginID": "exam",
"districtIds": [
"81f6ae5c-2930-11ef-b50f-4a12d8c2d6fc",
"81f6a9e8-2930-11ef-b50f-4a12d8c2d6fc"
],
"statuses": [
false
],
"pagination": {
"page": 1,
"size": 10
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
]
}
Response (FreeUserPageDtoResp)
{
"success": true,
"message": "",
"data": {
"pagination": {
"page": 1,
"size": 3,
"totalItems": 7,
"totalPages": 3
},
"sortings": [
{
"direction": "DESC",
"property": "createdAt"
}
],
"items": [
{
"userId": "78eb4f9e-b186-45c1-80f7-8de49dd455ee",
"email": "gabik@example.com",
"lastLogin": null,
"username": "gabik",
"phone": "97654321",
"nickname": "賈碧",
"district": "中西區",
"disabled": false,
"status": 1
},
{
"userId": "1905e907-20e3-46b7-80ec-01ec976d6d78",
"email": "user5@example.com",
"lastLogin": null,
"username": "user5",
"phone": null,
"nickname": null,
"district": "其他",
"disabled": false,
"status": 1
},
{
"userId": "605655bd-aae0-4ba7-b9ca-ac017cd54385",
"email": "user9@example.com",
"lastLogin": null,
"username": "user9",
"phone": null,
"nickname": null,
"district": "中西區",
"disabled": false,
"status": 1
}
]
}
}
Org user detail
機構用戶詳情
Request
GET /web/users/org/b67b50e3-bd7f-4d79-a788-7a168f4f0a20
Response (OrgUserDetailResp)
{
"success": true,
"message": "",
"data": {
"id": "d841daa3-6ed9-47b9-a192-ec92b7e2a035",
"username": "user4",
"nickname": null,
"phone": null,
"email": "user4@example.com",
"district": "九龍城",
"districtId": "205fb8f4-23da-11ef-a707-7085c2d96f0d",
"centre": "香港心理衞生會",
"userType": 2,
"createdAt": "2024-06-17T16:55:58.57221",
"lastLogin": "2024-06-18T12:18:24.786941",
"joinedAt": "2024-06-17T16:55:58.57221",
"level": 1,
"gender": 0,
"birthday": null,
"serviceNumber": "12345678",
"staff": "呂渚餁",
"staffId": "2fryref4-23da-11ef-a707-70rtd96f0d",
"avatarUrl": "https://jcci-test-media.aritaone.com/share/default/user/profile/1",
"signature": null,
"role": "普通用戶",
"disabled": false,
"mascotName": "Cat cat"
}
}
Free user detail
無機構用戶詳情
Request
GET /web/users/free/b67b50e3-bd7f-4d79-a788-7a168f4f0a20
Response (OrgUserDetailResp)
{
"success": true,
"message": "",
"data": {
"id": "d841daa3-6ed9-47b9-a192-ec92b7e2a035",
"username": "user4",
"nickname": null,
"phone": null,
"email": "user4@example.com",
"district": "九龍城",
"districtId": "205fb8f4-23da-11ef-a707-7085c2d96f0d",
"centre": "香港心理衞生會",
"userType": 2,
"createdAt": "2024-06-17T16:55:58.57221",
"lastLogin": "2024-06-18T12:18:24.786941",
"joinedAt": "2024-06-17T16:55:58.57221",
"level": 1,
"gender": 0,
"birthday": null,
"serviceNumber": "12345678",
"staff": "呂渚餁",
"staffId": "2fryref4-23da-11ef-a707-70rtd96f0d",
"avatarUrl": "https://jcci-test-media.aritaone.com/share/default/user/profile/1",
"signature": null,
"role": "普通用戶",
"disabled": false,
"mascotName": "Cat cat"
}
}
user type
獲取用戶類型
Request
GET /web/users/type
Response
Response (UserTypeResp)
{
"success": true,
"message": "",
"data": [
{
"name": "普通會員",
"type": 1
},
{
"name": "計劃會員",
"type": 2
}
]
}
Edit org user email
修改機構用戶郵箱
Request (OrgUserUpdateEmail)
PUT /web/users/org/email
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"email": "use2TTT@example.com"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit free user email
修改無機構用戶郵箱
Request (OrgUserUpdateEmail)
PUT /web/users/free/email
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"email": "use2TTT@example.com"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit org user phone
修改機構用戶郵箱
Request (OrgUserUpdatePhone)
PUT /web/users/org/phone
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"phone": "69874562"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit free user phone
修改無機構用戶郵箱
Request (OrgUserUpdatePhone)
PUT /web/users/free/phone
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"phone": "69874562"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit org user username
修改機構用戶用戶名
Request (OrgUserUpdateUsername)
PUT /web/users/org/username
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"username": "69874562"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit free user username
修改無機構用戶用戶名
Request (OrgUserUpdateUsername)
PUT /web/users/free/username
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"username": "69874562"
}
Response
{
"success": true,
"message": "",
"data": null
}
Org out centre
退會
Request (OrgUserOutCentre)
PUT /web/users/org/out-centre
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"districtId": "81f6ac18-2930-11ef-b50f-4a12d8c2d6fc"
}
Response
{
"success": true,
"message": "",
"data": null
}
Free join centre
入會
Request (OrgUserOutCentre)
PUT /web/users/free/join-centre
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"districtId": "81f6ac18-2930-11ef-b50f-4a12d8c2d6fc"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit user type
修改用戶類型
Request (UpdateUserTypeReq)
PUT /web/users/type
{
"userId": "d841daa3-6ed9-47b9-a192-ec92b7e2a035",
"userType": "2",
"serviceNumber": "123431549",
"level": 2,
"staffId": "a58949da-ddae-4e01-8041-94dcce1ca103"
}
Response
{
"success": true,
"message": "",
"data": null
}
Delete org user password
刪除機構用戶密碼
Request
DELETE /web/users/org/{user_id}/password
Response
{
"success": true,
"message": "",
"data": null
}
Delete free user password
刪除機構用戶密碼
Request
DELETE /web/users/free/{user_id}/password
Response
{
"success": true,
"message": "",
"data": null
}
Delete org user
刪除機構用戶
Request
DELETE /web/users/org/1905e907-20e3-46b7-80ec-01ec976d6d78
Response
{
"success": true,
"message": "",
"data": null
}
Delete free user
刪除無機構用戶
Request
DELETE /web/users/free/1905e907-20e3-46b7-80ec-01ec976d6d78
Response
{
"success": true,
"message": "",
"data": null
}
Freeze org user
凍結機構用戶
PUT /web/users/org/1905e907-20e3-46b7-80ec-01ec976d6d78/freeze
Response
{
"success": true,
"message": "",
"data": null
}
Freeze free user
凍結無機構用戶
PUT /web/users/free/1905e907-20e3-46b7-80ec-01ec976d6d78/freeze
Response
{
"success": true,
"message": "",
"data": null
}
Unfreeze org user
解凍機構用戶
PUT /web/users/org/1905e907-20e3-46b7-80ec-01ec976d6d78/unfreeze
Response
{
"success": true,
"message": "",
"data": null
}
Unfreeze org user
解凍無機構用戶
PUT /web/users/free/1905e907-20e3-46b7-80ec-01ec976d6d78/unfreeze
Response
{
"success": true,
"message": "",
"data": null
}
Edit org personal
編輯機構個人資料
Request (UpdateUserPersonal)
PUT /web/users/org/personal
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"nickname": "庄司訥",
"signature": "WWE Champion",
"gender": "1",
"birthday": "1972-08-27",
"mascotName": "Cat cat"
}
Response
{
"success": true,
"message": "",
"data": null
}
Edit free personal
編輯機構個人資料
Request (UpdateUserPersonal)
PUT /web/users/free/personal
{
"userId": "049cea33-426b-47a1-aec3-904a193c126b",
"nickname": "庄司訥",
"signature": "WWE Champion",
"gender": "1",
"birthday": "1972-08-27",
"mascotName": "Cat cat"
}
Response
{
"success": true,
"message": "",
"data": null
}
Get user approving
獲取用戶是否存在申請狀態,如果不存在審批狀態,則返回null
Request
GET /web/users/approving/{user_id}
Response
{
"success": true,
"message": "",
"data": {
"event": 3,
"centre": "MHAHK",
"districtName": "將軍澳"
}
}
Is set password
檢查用戶是否設置密碼
Request
GET /web/users/{userId}/is-set-password
Response
true: 已設置密碼 false: 未設置密碼
{
"success": true,
"message": "",
"data": true
}
Resources
AddUserDtoReq
properties
username
stringunique4-20位大小寫字母數字或以下特殊字符:_.-用戶名稱
password
string密碼長度必須為6-40位大小寫字母數字或以下特殊字符:@$!%?:&-_+=密碼
phone
stringunique6|9開頭的8位香港電話號碼電話號碼,與電郵地址擇一填寫
email
string[0 ... 50]uniqueEmail電郵地址,與電話號碼擇一填寫
nickname
string[0 ... 100]暱稱
districtId
stringrequired所屬地區ID
userType
intrequired1,2用戶類別:1-普通會員 2-計畫會員
level
int1,2級別,userType=2時必填
serviceNumber
string[0 ... 31]numbers & letters Limited服務編號,userType=2時必填
staffId
String負責職員,userType=2時必填
gender
int0,1,2性別:0-女,1-男,2-NA
birthday
date出生日期
signature
string[0 ... 100]個性化字眼
AddUserDtoResp
properties
id
stringrequired用戶ID
username
string用戶名稱
phone
string電話號碼
email
string電郵地址
nickname
string暱稱
disabled
stringrequired是否凍結
createdAt
datetimerequired創建時間
updatedAt
datetimerequired更新時間
AddFreeUserDtoReq
properties
username
stringunique4-20位大小寫字母數字或以下特殊字符:_.-用戶名稱
password
string密碼長度必須為6-40位大小寫字母數字或以下特殊字符:@$!%?:&-_+=密碼
phone
stringunique6|9開頭的8位香港電話號碼電話號碼,與電郵地址擇一填寫
email
stringuniqueEmail電郵地址,與電話號碼擇一填寫
nickname
string暱稱
districtId
stringrequired所屬地區ID
userType
intrequired1用戶類別:1-普通會員
gender
int0,1,2性別:0-女,1-男,2-NA
birthday
date出生日期
signature
string個性化字眼
OrgUserPageDtoReq
properties
surveyId
stringrequiredsurveyId
loginID
string搜索字段
userTypes
array[int]用戶類別:1-普通會員 2-計畫會員
statuses
array[boolean]用戶狀態:true-凍結,false-正常
districtIds
array[string]區域ID
staffIds
array[string]職員ID
分頁參數
排序字段
OrgUserPageDtoResp
This class extends PaginationAndSorting
properties
userId
Stringrequired用戶ID
email
Stringrequired郵箱
lastLogin
datetime最後上線日期
username
String用戶名
phone
String電話號碼
district
Stringrequired區域
userType
intrequired1,2用戶類別:1-普通會員 2-計畫會員
serviceNumber
String服務編號
staff
String負責職員
disabled
booleanrequired用戶狀態:true-凍結,false-正常
status
number用戶狀態:0-凍結,1-正常,2-等待移除
joinedAt
datetimerequired入會時間
FreeUserPageDtoReq
properties
surveyId
stringrequiredsurveyId
loginID
string搜索字段
statuses
array[boolean]用戶狀態:true-凍結,false-正常
districtIds
array[string]區域ID
分頁參數
排序字段
FreeUserPageDtoResp
This class extends PaginationAndSorting
properties
userId
Stringrequired用戶ID
email
Stringrequired郵箱
lastLogin
datetime最後上線日期
username
String用戶名
phone
String電話號碼
district
Stringrequired區域
nickname
String暱稱
disabled
booleanrequired用戶狀態:true-凍結,false-正常
status
number用戶狀態:0-凍結,1-正常,2-等待移除
OrgUserDetailResp
properties
id
stringrequired用戶ID
username
string用戶名稱
nickname
string暱稱
phone
string電話號碼
email
stringuniqueEmail電郵地址
district
stringrequired所屬地區
districtId
stringrequired所屬地區ID
centre
stringrequired中心
userType
intrequired1,2用戶類別:1-普通會員 2-計畫會員
level
int1,2級別,userType=2時必填
serviceNumber
string服務編號,userType=2時必填
staff
string服務職員,userType=2時必填
staffId
string服務職員ID
gender
int0,1,2性別:0-女,1-男,2-NA
birthday
date出生日期
signature
string個性化字眼
avatarUrl
string頭像
role
stringrequired用户角色
disabled
booleanrequired用戶是否凍結: true-凍結,false-未凍結
mascotName
stringrequiredThe name of the mascot.
OrgUserUpdateEmail
properties
userId
stringrequired用戶ID
email
stringrequired[1 ... 50]uniqueEmail電郵地址
OrgUserUpdatePhone
properties
userId
stringrequired用戶ID
phone
stringrequired手機號碼
OrgUserUpdateUsername
properties
userId
stringrequired用戶ID
username
stringrequired[4 ... 20]用戶名稱
OrgUserOutCentre
properties
userId
stringrequired用戶ID
districtId
string地區ID
UpdateUserTypeReq
properties
userId
Stringrequired要更改的用戶的ID
type
intrequired1,2用戶類型 1: 普通會員 2: 計劃會員
level
int1,2級別,userType=2時必填
serviceNumber
string服務編號,userType=2時必填
staffId
String負責職員,userType=2時必填
UserTypeResp
properties
name
Stringrequireduser type's name
type
Intrequireduser's type number
UpdateUserPersonal
properties
userId
Stringrequired要更改的用戶的ID
nickname
String[0 ... 100]暱稱
signature
int[0 ... 100]個性化簽名
gender
int0,1,20:女;1:男;2:保密
birthday
dateyyyy-MM-dd生日
mascotName
stringrequiredThe name of the mascot.
ApprovingDto
properties
event
intrequired審批事件: 1-申請計劃會員 2-退出計劃會員 3-入會申請 4-退會申請
centre
StringrequiredCentreEnum
districtName
string區域名稱