Skip to main content

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
1
POST
/web/users/org
# 創建機構用戶
1
POST
/web/users/free
# 創建無機構用戶
1
GET
/web/users/org/{user_id}
# 機構用戶詳情
1
GET
/web/users/free/{user_id}
# 無機構用戶詳情
1
PUT
/web/users/org/personal
# 編輯機構個人資料
1
PUT
/web/users/free/personal
# 編輯無機構個人資料


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
    string
    unique
    4-20位大小寫字母數字或以下特殊字符:_.-
    用戶名稱
  • password
    string
    密碼長度必須為6-40位大小寫字母數字或以下特殊字符:@$!%?:&-_+=
    密碼
  • phone
    string
    unique
    6|9開頭的8位香港電話號碼
    電話號碼,與電郵地址擇一填寫
  • email
    string
    [0 ... 50]
    unique
    Email
    電郵地址,與電話號碼擇一填寫
  • nickname
    string
    [0 ... 100]
    暱稱
  • districtId
    string
    required
    所屬地區ID
  • userType
    int
    required
    1,2
    用戶類別:1-普通會員 2-計畫會員
  • level
    int
    1,2
    級別,userType=2時必填
  • serviceNumber
    string
    [0 ... 31]
    numbers & letters Limited
    服務編號,userType=2時必填
  • staffId
    String
    負責職員,userType=2時必填
  • gender
    int
    0,1,2
    性別:0-女,1-男,2-NA
  • birthday
    date
    出生日期
  • signature
    string
    [0 ... 100]
    個性化字眼

AddUserDtoResp

properties
  • id
    string
    required
    用戶ID
  • username
    string
    用戶名稱
  • phone
    string
    電話號碼
  • email
    string
    電郵地址
  • nickname
    string
    暱稱
  • disabled
    string
    required
    是否凍結
  • createdAt
    datetime
    required
    創建時間
  • updatedAt
    datetime
    required
    更新時間

AddFreeUserDtoReq

properties
  • username
    string
    unique
    4-20位大小寫字母數字或以下特殊字符:_.-
    用戶名稱
  • password
    string
    密碼長度必須為6-40位大小寫字母數字或以下特殊字符:@$!%?:&-_+=
    密碼
  • phone
    string
    unique
    6|9開頭的8位香港電話號碼
    電話號碼,與電郵地址擇一填寫
  • email
    string
    unique
    Email
    電郵地址,與電話號碼擇一填寫
  • nickname
    string
    暱稱
  • districtId
    string
    required
    所屬地區ID
  • userType
    int
    required
    1
    用戶類別:1-普通會員
  • gender
    int
    0,1,2
    性別:0-女,1-男,2-NA
  • birthday
    date
    出生日期
  • signature
    string
    個性化字眼

OrgUserPageDtoReq

properties
  • surveyId
    string
    required
    surveyId
  • loginID
    string
    搜索字段
  • userTypes
    array[int]
    用戶類別:1-普通會員 2-計畫會員
  • statuses
    array[boolean]
    用戶狀態:true-凍結,false-正常
  • districtIds
    array[string]
    區域ID
  • staffIds
    array[string]
    職員ID
  • pagination
    pagination
    required
    分頁參數
  • sortings
    排序字段

OrgUserPageDtoResp

This class extends PaginationAndSorting

properties
  • userId
    String
    required
    用戶ID
  • email
    String
    required
    郵箱
  • lastLogin
    datetime
    最後上線日期
  • username
    String
    用戶名
  • phone
    String
    電話號碼
  • district
    String
    required
    區域
  • userType
    int
    required
    1,2
    用戶類別:1-普通會員 2-計畫會員
  • serviceNumber
    String
    服務編號
  • staff
    String
    負責職員
  • disabled
    boolean
    required
    用戶狀態:true-凍結,false-正常
  • status
    number
    用戶狀態:0-凍結,1-正常,2-等待移除
  • joinedAt
    datetime
    required
    入會時間

FreeUserPageDtoReq

properties
  • surveyId
    string
    required
    surveyId
  • loginID
    string
    搜索字段
  • statuses
    array[boolean]
    用戶狀態:true-凍結,false-正常
  • districtIds
    array[string]
    區域ID
  • pagination
    pagination
    required
    分頁參數
  • sortings
    排序字段

FreeUserPageDtoResp

This class extends PaginationAndSorting

properties
  • userId
    String
    required
    用戶ID
  • email
    String
    required
    郵箱
  • lastLogin
    datetime
    最後上線日期
  • username
    String
    用戶名
  • phone
    String
    電話號碼
  • district
    String
    required
    區域
  • nickname
    String
    暱稱
  • disabled
    boolean
    required
    用戶狀態:true-凍結,false-正常
  • status
    number
    用戶狀態:0-凍結,1-正常,2-等待移除

OrgUserDetailResp

properties
  • id
    string
    required
    用戶ID
  • username
    string
    用戶名稱
  • nickname
    string
    暱稱
  • phone
    string
    電話號碼
  • email
    string
    unique
    Email
    電郵地址
  • district
    string
    required
    所屬地區
  • districtId
    string
    required
    所屬地區ID
  • centre
    string
    required
    中心
  • userType
    int
    required
    1,2
    用戶類別:1-普通會員 2-計畫會員
  • level
    int
    1,2
    級別,userType=2時必填
  • serviceNumber
    string
    服務編號,userType=2時必填
  • staff
    string
    服務職員,userType=2時必填
  • staffId
    string
    服務職員ID
  • gender
    int
    0,1,2
    性別:0-女,1-男,2-NA
  • birthday
    date
    出生日期
  • signature
    string
    個性化字眼
  • avatarUrl
    string
    頭像
  • role
    string
    required
    用户角色
  • disabled
    boolean
    required
    用戶是否凍結: true-凍結,false-未凍結
  • mascotName
    string
    required
    The name of the mascot.

OrgUserUpdateEmail

properties
  • userId
    string
    required
    用戶ID
  • email
    string
    required
    [1 ... 50]
    unique
    Email
    電郵地址

OrgUserUpdatePhone

properties
  • userId
    string
    required
    用戶ID
  • phone
    string
    required
    手機號碼

OrgUserUpdateUsername

properties
  • userId
    string
    required
    用戶ID
  • username
    string
    required
    [4 ... 20]
    用戶名稱

OrgUserOutCentre

properties
  • userId
    string
    required
    用戶ID
  • districtId
    string
    地區ID

UpdateUserTypeReq

properties
  • userId
    String
    required
    要更改的用戶的ID
  • type
    int
    required
    1,2
    用戶類型 1: 普通會員 2: 計劃會員
  • level
    int
    1,2
    級別,userType=2時必填
  • serviceNumber
    string
    服務編號,userType=2時必填
  • staffId
    String
    負責職員,userType=2時必填

UserTypeResp

properties
  • name
    String
    required
    user type's name
  • type
    Int
    required
    user's type number

UpdateUserPersonal

properties
  • userId
    String
    required
    要更改的用戶的ID
  • nickname
    String
    [0 ... 100]
    暱稱
  • signature
    int
    [0 ... 100]
    個性化簽名
  • gender
    int
    0,1,2
    0:女;1:男;2:保密
  • birthday
    date
    yyyy-MM-dd
    生日
  • mascotName
    string
    required
    The name of the mascot.

ApprovingDto

properties
  • event
    int
    required
    審批事件: 1-申請計劃會員 2-退出計劃會員 3-入會申請 4-退會申請
  • centre
    String
    required
    CentreEnum
  • districtName
    string
    區域名稱