User API#
API quản lý user và phân quyền.
Base URL: https://app.socialking.vn/api/v1
1. Danh sách User#
GET /user/get-all
#
Auth: Bearer Token (JWT)
Query Parameters:
| Param | Type | Default | Mô tả |
|---|---|---|---|
_page | number | 1 | Trang |
_limit | number | 20 | Items/trang |
_order | string | desc | asc | desc |
_search | string | - | Tìm kiếm |
_trash | boolean | false | Hiện user đã xóa |
status | string | - | Filter theo status |
Response (200):
{
"success": true,
"data": {
"users": [
{
"id": "uuid-string",
"name": "Nguyen Van A",
"email": "user@example.com",
"status": "active",
"image": "https://cdn.socialking.vn/avatars/user.png",
"createdAt": "2026-03-30T10:30:00Z"
}
],
"total": 100,
"page": 1
}
}2. Chi tiết User#
GET /user/get-by-id/:id
#
Auth: Bearer Token (JWT)
URL Params: id (UUID)
Response (200):
{
"success": true,
"data": {
"id": "uuid-string",
"name": "Nguyen Van A",
"email": "user@example.com",
"status": "active",
"image": null,
"roles": [
{ "id": "uuid", "name": "User", "key": "user", "level": 1 }
],
"createdAt": "2026-03-30T10:30:00Z"
}
}3. Tạo User#
POST /user/create
#
Auth: Bearer Token (JWT)
Request Body:
{
"name": "Nguyen Van B",
"email": "newuser@example.com",
"password": "Password@123",
"status": "active",
"roleIds": []
}| Field | Type | Required | Validation |
|---|---|---|---|
name | string | Yes | 2-100 ký tự |
email | string | Yes | Email hợp lệ, lowercase, unique |
password | string | No | 6-100 ký tự |
image | string | No | URL hợp lệ, nullable |
status | string | No | Default pending |
roleIds | UUID[] | No | Max 10 roles |
Response (201):
{
"success": true,
"data": {
"id": "uuid-string",
"name": "Nguyen Van B",
"email": "newuser@example.com",
"status": "active",
"roles": []
}
}4. Cập nhật User#
PUT /user/update/:id
#
Auth: Bearer Token (JWT)
URL Params: id (UUID)
Request Body: Các fields giống tạo, tất cả optional.
5. Khôi phục User#
PUT /user/restore/:id
#
Auth: Bearer Token (JWT)
URL Params: id (UUID)
6. Khôi phục nhiều User#
PUT /user/restore-bulk
#
Auth: Bearer Token (JWT)
7. Xóa User (Soft Delete)#
DELETE /user/delete/:id
#
Auth: Bearer Token (JWT)
8. Xóa nhiều User (Soft Delete)#
DELETE /user/delete-bulk
#
Auth: Bearer Token (JWT)
Request Body:
{
"ids": ["uuid-1", "uuid-2"]
}9. Xóa vĩnh viễn User#
DELETE /user/force-delete/:id
#
Auth: Bearer Token (JWT)
Rate Limit: 5 req/sec
10. Xóa vĩnh viễn nhiều User#
DELETE /user/force-delete-bulk
#
Auth: Bearer Token (JWT)
Rate Limit: 5 req/sec
Request Body:
{
"ids": ["uuid-1", "uuid-2"]
}11. Permissions của tôi#
GET /user/me/permissions
#
Auth: Bearer Token (JWT)
Response (200):
{
"success": true,
"data": {
"permissions": [
{
"key": "manager_user:read",
"name": "Xem user",
"description": "Quyền xem danh sách user"
}
]
}
}