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 1page_size(Nombre): éléments par page, la valeur par défaut est 20platform(String) : Plateforme de tâches, en optiontask_id(String): filtre d'ID de tâche, en optionstatus(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 optionend_timestamp(Numéro): Horodatage de fin, facultatif
🧾 Description du champ de retour:
id(Numéro): ID de l'enregistrement de la base de donnéestask_id(Chaîne) : ID de tâche tiersplatform(String) : Plateforme de tâchesuser_id(Numéro): ID utilisateurquota(Nombre) : Quota consomméaction(Chaîne): Type de tâchestatus(String) : Statut de la tâchefail_reason(String) : Raison de l'échecsubmit_time(Numéro): Horodatage de soumissionstart_time(Numéro): Horodatage de débutfinish_time(Numéro): horodatage de finprogress(Chaîne) : Pourcentage de progressionproperties(Objet): Propriétés de la tâchedata(Objet): données de résultat de la tâchetotal(Nombre): nombre total d'enregistrements de tâches correspondantspage(Numéro): Numéro de la page actuellement renvoyéepage_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 1page_size(Nombre): éléments par page, la valeur par défaut est 20channel_id(String): filtre d'identification de canal, en optionplatform(String) : Filtre de plateforme de tâches, en optiontask_id(String): filtre d'ID de tâche, en optionstatus(String): Filtre d'état des tâches, en optionaction(String): Filtre de type de tâche, en optionstart_timestamp(Numéro): horodatage de début, en optionend_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é