Vue d'ensemble de l'API
Ce document décrit tous les points de terminaison API disponibles pour l'application duplistatus. L'API suit les principes RESTful et offre des fonctionnalités complètes de surveillance des sauvegardes, de gestion des notifications et d'administration système.
Structure de l'API
Pour une référence rapide de tous les points de terminaison, consultez la liste des points de terminaison de l'API.
L'API est organisée en groupes logiques :
- API externes : Données récapitulatives, statut de la dernière sauvegarde et chargement des données de sauvegarde depuis Duplicati
- Opérations principales : Données du tableau de bord, gestion du serveur et informations détaillées sur les sauvegardes
- Données de graphiques : Données chronologiques agrégées ou spécifiques au serveur, destinées à la visualisation et à l'analyse
- Gestion de la configuration : E-mail, notifications, paramètres de sauvegarde et configuration du système
- Système de notifications : Test des notifications, vérification des sauvegardes en retard et gestion des notifications
- Services Cron : Gestion des services Cron
- Surveillance et état de santé : Vérifications d'intégrité et surveillance du statut
- Administration : Maintenance de la base de données, opérations de nettoyage et gestion du système
- Gestion des sessions : Gestion des sessions et création de session
- Authentification et sécurité : Authentification et sécurité
Pour une référence rapide de tous les points de terminaison, consultez la liste des points de terminaison de l'API.
Format de réponse
Toutes les réponses de l'API sont renvoyées au format JSON avec des modèles de gestion des erreurs cohérents. Les réponses réussies incluent généralement un champ status, tandis que les réponses d'erreur incluent les champs error et message.
Gestion des erreurs
Tous les points de terminaison suivent un modèle de gestion des erreurs cohérent :
- 400 Demande incorrecte : Données de demande invalides ou champs requis manquants
- 401 Non autorisé : Session invalide ou manquante, session expirée, ou échec de la validation du jeton CSRF
- 403 Interdit : Opération non autorisée (par exemple, suppression d'une sauvegarde en production) ou échec de la validation du jeton CSRF
- 404 Introuvable : Ressource introuvable
- 409 Conflit : Données en double (pour les points de terminaison de chargement)
- 500 Erreur interne du serveur : Erreurs côté serveur accompagnées de messages d'erreur détaillés
- 503 Service indisponible : Échec des vérifications d'intégrité, problèmes de connexion à la base de données ou service Cron indisponible
Les réponses d'erreur incluent :
error: Message d'erreur lisible par l'utilisateurmessage: Détails techniques de l'erreur (en mode développement)stack: Pile d'appels de l'erreur (en mode développement)timestamp: Quand l'erreur s'est produite
Remarques sur les types de données
Tableaux de messages
Les champs messages_array, warnings_array et errors_array sont stockés sous forme de chaînes JSON dans la base de données et renvoyés sous forme de tableaux dans les réponses de l'API. Ils contiennent les messages de journal, les avertissements et les erreurs réels des opérations de sauvegarde Duplicati.
Sauvegardes disponibles
Le champ available_backups contient un tableau d'horodatages de versions de sauvegarde (au format ISO) disponibles pour restauration. Cela est extrait des messages de journal de sauvegarde.
Champs de durée
duration: Format lisible par l'homme (par exemple, "00:38:31")duration_seconds: Durée brute en secondesdurationInMinutes: Durée convertie en minutes à des fins de graphique
Champs de taille de fichier
Tous les champs de taille de fichier sont renvoyés en octets sous forme de nombres, pas de chaînes formatées. L'interface est responsable de la conversion en formats lisibles (Ko, Mo, Go, etc.).
N'exposez pas le serveur duplistatus à l'internet public. Utilisez-le dans un réseau sécurisé (par exemple, un réseau local protégé par un pare-feu).
Exposer l'interface duplistatus à l'internet public sans mesures de sécurité adéquates pourrait entraîner un accès non autorisé.