88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support
API Module Guide

Mô-đun trung tâm tác vụ

Mô tả tính năng

Tiền tố API thống nhất là http(s)://<your-domain>

Nên sử dụng HTTPS trong môi trường sản xuất để bảo mật mã thông báo xác thực. HTTP chỉ được khuyến nghị cho môi trường phát triển.

Hệ thống quản lý tác vụ không đồng bộ chung. Chủ yếu hỗ trợ các tác vụ tạo nhạc cho các nền tảng như Suno. Bao gồm các cơ chế như cập nhật trạng thái nhiệm vụ tự động, thử lại lỗi và hoàn trả hạn ngạch.

🔐 Xác thực người dùng

Nhận nhiệm vụ của tôi

  • Tên giao diện: Nhận nhiệm vụ của tôi
  • Phương thức HTTP: NHẬN
  • Đường dẫn: /api/task/self
  • Yêu cầu xác thực: Người dùng
  • Mô tả chức năng: Truy xuất theo trang danh sách nhiệm vụ của người dùng hiện tại, hỗ trợ lọc theo nền tảng, ID nhiệm vụ, trạng thái và các điều kiện khác.

💡 Yêu cầu Ví dụ:

const response = await fetch('/api/task/self?p=1&page_size=20&platform=suno&task_id=task123&status=SUCCESS&action=song&start_timestamp=1640908800&end_timestamp=1640995200', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_user_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ Ví dụ phản hồi thành công:

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": 1,
        "created_at": 1640908800,
        "updated_at": 1640909000,
        "task_id": "task123456",
        "platform": "suno",
        "user_id": 1,
        "quota": 1000,
        "action": "song",
        "status": "SUCCESS",
        "fail_reason": "",
        "submit_time": 1640908800,
        "start_time": 1640908900,
        "finish_time": 1640909000,
        "progress": "100%",
        "properties": {},
        "data": {}
      }
    ],
    "total": 25,
    "page": 1,
    "page_size": 20
  }
}

❗ Ví dụ về phản hồi thất bại:

{
  "success": false,
  "message": "Failed to retrieve task list"
}

🧾 Mô tả trường (Thông số yêu cầu):

  • p (Number): Số trang, mặc định là 1
  • page_size (Number): Số mục trên một trang, mặc định là 20
  • platform (String): Nền tảng tác vụ, tùy chọn
  • task_id (String): Bộ lọc ID tác vụ, tùy chọn
  • status (Chuỗi): Bộ lọc trạng thái tác vụ, các giá trị tùy chọn: "NOT_START", "SUBMITTED", "QUEUED", "IN_PROGRESS", "FAILURE", "SUCCESS", "UNKNOWN"
  • action (Chuỗi): Bộ lọc loại tác vụ, ví dụ: "bài hát", "lời bài hát", v.v.
  • start_timestamp (Số): Dấu thời gian bắt đầu, tùy chọn
  • end_timestamp (Number): Dấu thời gian kết thúc, tùy chọn

🧾 Mô tả trường trả về:

  • id (Number): ID bản ghi cơ sở dữ liệu
  • task_id (Chuỗi): ID tác vụ của bên thứ ba
  • platform (String): Nền tảng tác vụ
  • user_id (Số): ID người dùng
  • quota (Number): Định mức tiêu thụ
  • action (String): Loại tác vụ
  • status (String): Trạng thái tác vụ
  • fail_reason (String): Lý do lỗi
  • submit_time (Số): Dấu thời gian nộp bài
  • start_time (Số): Dấu thời gian bắt đầu
  • finish_time (Số): Dấu thời gian hoàn thành
  • progress (String): Phần trăm tiến độ
  • properties (Object): Thuộc tính tác vụ
  • data (Object): Dữ liệu kết quả nhiệm vụ
  • total (Number): Tổng số bản ghi tác vụ trùng khớp
  • page (Number): Số trang trả về hiện tại
  • page_size (Number): Số lượng bản ghi tác vụ hiển thị trên mỗi trang

🔐 Xác thực quản trị viên

Nhận tất cả nhiệm vụ

  • Tên giao diện: Nhận tất cả nhiệm vụ
  • Phương thức HTTP: NHẬN
  • Đường dẫn: /api/task/
  • Yêu cầu xác thực: Quản trị viên
  • Mô tả chức năng: Truy xuất phân trang tất cả các tác vụ trong hệ thống, hỗ trợ lọc theo ID kênh, nền tảng, ID người dùng và các điều kiện khác.

💡 Yêu cầu Ví dụ:

const response = await fetch('/api/task/?p=1&page_size=20&channel_id=1&platform=suno&task_id=task123&status=SUCCESS&action=song&start_timestamp=1640908800&end_timestamp=1640995200', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_admin_token',
    'New-Api-User': 'your_user_id'
  }
});
const data = await response.json();

✅ Ví dụ phản hồi thành công:

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": 1,
        "created_at": 1640908800,
        "task_id": "task123456",
        "platform": "suno",
        "user_id": 1,
        "channel_id": 1,
        "quota": 1000,
        "action": "song",
        "status": "SUCCESS",
        "submit_time": 1640908800,
        "finish_time": 1640909000,
        "progress": "100%",
        "data": {}
      }
    ],
    "total": 100,
    "page": 1,
    "page_size": 20
  }
}

❗ Ví dụ về phản hồi thất bại:

{
  "success": false,
  "message": "Failed to retrieve task list"
}

🧾 Mô tả trường (Thông số yêu cầu):

  • p (Number): Số trang, mặc định là 1
  • page_size (Number): Số mục trên một trang, mặc định là 20
  • channel_id (String): Bộ lọc ID kênh, tùy chọn
  • platform (String): Bộ lọc nền tảng tác vụ, tùy chọn
  • task_id (String): Bộ lọc ID tác vụ, tùy chọn
  • status (String): Bộ lọc trạng thái tác vụ, tùy chọn
  • action (String): Lọc loại tác vụ, tùy chọn
  • start_timestamp (Số): Dấu thời gian bắt đầu, tùy chọn
  • end_timestamp (Number): Dấu thời gian kết thúc, tùy chọn
  • Các trường trả về bao gồm tất cả các trường từ tác vụ của người dùng, cộng thêm phần bổ sung sau:
  • channel_id (Số): ID kênh đã sử dụng