Media API#
API quản lý media files: upload, download, xóa, khôi phục.
Base URL: https://app.socialking.vn/api/v1
1. Upload Media#
POST /media/upload
#
Auth: Bearer Token (JWT)
Rate Limit: 10 req/sec
Request: multipart/form-data
| Field | Type | Required | Validation |
|---|---|---|---|
files | File[] | Yes | Tối đa 100 files |
skFolderId | UUID | No | Nullable, folder đích |
filename | string | No | Tên file tùy chỉnh |
Response (200):
{
"success": true,
"message": "Upload thành công 5/5 ảnh",
"data": {
"successful": [
{
"id": "uuid-string",
"filename": "image.png",
"url": "https://cdn.socialking.vn/media/image.png",
"size": 245760
}
],
"failed": [],
"statistics": {
"total": 5,
"successCount": 5,
"failCount": 0,
"totalDuration": "2.5s",
"averageDuration": "0.5s",
"throughput": "2 files/s"
}
}
}2. Download nhiều Media#
POST /media/download-multiple
#
Auth: Bearer Token (JWT)
Request Body:
{
"ids": ["uuid-1", "uuid-2"],
"zipFilename": "my-images"
}| Field | Type | Required | Validation |
|---|---|---|---|
ids | UUID[] | Yes | 1-100 IDs |
zipFilename | string | No | Tên file ZIP |
Response: File ZIP download
3. Đổi tên Media#
PATCH /media/rename/:id
#
Auth: Bearer Token (JWT)
Request Body:
{
"filename": "new-name.png"
}| Field | Type | Required | Validation |
|---|---|---|---|
filename | string | Yes | 1-255 ký tự |
4. Xóa Media#
DELETE /media/delete/:id
#
Auth: Bearer Token (JWT)
5. Xóa nhiều Media#
POST /media/delete-bulk
#
Auth: Bearer Token (JWT)
Request Body:
{
"ids": ["uuid-1", "uuid-2"]
}| Field | Type | Required | Validation |
|---|---|---|---|
ids | UUID[] | Yes | 1-100 IDs |
6. Duplicate Media#
POST /media/duplicate
#
Auth: Bearer Token (JWT)
Request Body:
{
"mediaIds": ["uuid-1"],
"targetFolderId": null,
"count": 1,
"nameSuffix": "-copy"
}| Field | Type | Required | Validation |
|---|---|---|---|
mediaIds | UUID[] | Yes | Tối thiểu 1 ID |
targetFolderId | UUID | No | Folder đích |
count | number | No | 1-10 bản sao, default 1 |
nameSuffix | string | No | Hậu tố tên file |
7. Khôi phục Media#
PATCH /media/restore/:id
#
Auth: Bearer Token (JWT)
8. Khôi phục nhiều Media#
POST /media/restore-bulk
#
Auth: Bearer Token (JWT)
Request Body:
{
"ids": ["uuid-1", "uuid-2"]
}