88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support
API Module Guide

Module Centre de tâches

Description des fonctionnalités

Le préfixe de l'API est uniformément http(s)://<your-domain>

HTTPS doit être utilisé dans les environnements de production pour sécuriser les jetons d'authentification. HTTP n'est recommandé que pour les environnements de développement.

Système général de gestion des tâches asynchrones. Prend principalement en charge les tâches de génération de musique pour des plates-formes telles que Suno. Inclut des mécanismes tels que les mises à jour automatiques de l'état des tâches, les nouvelles tentatives en cas d'échec et le remboursement des quotas.

🔐 Authentification de l'utilisateur

Récupérer mes tâches

  • Nom de l'interface: Obtenir mes tâches
  • Méthode HTTP: GET
  • Chemin: /api/task/self
  • Authentification requise: Utilisateur
  • Description de la fonction: récupération paginée de la liste des tâches de l'utilisateur actuel, prenant en charge le filtrage par plate-forme, ID de tâche, statut et autres conditions.

💡 Exemple de demande:

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();

✅ Exemple de réponse réussie:

{
  "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
  }
}

❗ Exemple de réponse en cas d'échec:

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

🧾 Description du champ (paramètres de la demande):

  • p (Numéro): Numéro de page, la valeur par défaut est 1
  • page_size (Nombre): éléments par page, la valeur par défaut est 20
  • platform (String) : Plateforme de tâches, en option
  • task_id (String): filtre d'ID de tâche, en option
  • status (String): Filtre d'état de la tâche, valeurs optionnelles: "NOT_START", "SUBMITTED", "QUEUED", "IN_PROGRESS", "FAILURE", "SUCCESS", "UNKNOWN"
  • action (Chaîne): filtre de type de tâche, par exemple "chanson", "paroles", etc.
  • start_timestamp (Numéro): horodatage de début, en option
  • end_timestamp (Numéro): Horodatage de fin, facultatif

🧾 Description du champ de retour:

  • id (Numéro): ID de l'enregistrement de la base de données
  • task_id (Chaîne) : ID de tâche tiers
  • platform (String) : Plateforme de tâches
  • user_id (Numéro): ID utilisateur
  • quota (Nombre) : Quota consommé
  • action (Chaîne): Type de tâche
  • status (String) : Statut de la tâche
  • fail_reason (String) : Raison de l'échec
  • submit_time (Numéro): Horodatage de soumission
  • start_time (Numéro): Horodatage de début
  • finish_time (Numéro): horodatage de fin
  • progress (Chaîne) : Pourcentage de progression
  • properties (Objet): Propriétés de la tâche
  • data (Objet): données de résultat de la tâche
  • total (Nombre): nombre total d'enregistrements de tâches correspondants
  • page (Numéro): Numéro de la page actuellement renvoyée
  • page_size (Nombre) : Nombre d'enregistrements de tâches affichés par page

🔐 Authentification de l'administrateur

Obtenez toutes les tâches

  • Nom de l'interface: Obtenir toutes les tâches
  • Méthode HTTP: GET
  • Chemin: /api/task/
  • Authentification requise: Administrateur
  • Description de la fonction: récupération paginée de toutes les tâches du système, prenant en charge le filtrage par ID de canal, plate-forme, ID d'utilisateur et d'autres conditions.

💡 Exemple de demande:

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();

✅ Exemple de réponse réussie:

{
  "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
  }
}

❗ Exemple de réponse en cas d'échec:

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

🧾 Description du champ (paramètres de la demande):

  • p (Numéro): Numéro de page, la valeur par défaut est 1
  • page_size (Nombre): éléments par page, la valeur par défaut est 20
  • channel_id (String): filtre d'identification de canal, en option
  • platform (String) : Filtre de plateforme de tâches, en option
  • task_id (String): filtre d'ID de tâche, en option
  • status (String): Filtre d'état des tâches, en option
  • action (String): Filtre de type de tâche, en option
  • start_timestamp (Numéro): horodatage de début, en option
  • end_timestamp (Numéro): Horodatage de fin, facultatif
  • Les champs de retour incluent tous les champs des tâches utilisateur, plus l'ajout suivant:
  • channel_id (Numéro): ID de chaîne utilisé