DOKKY SUITE Demo Documentation de l'API

Dans cette section, vous pouvez vérifier les différentes requêtes et exigences de l'API.

Instructions


Un Jeton JWT est requis pour que les requêtes soient traitées par le système.

Une fois qu'un utilisateur s'inscrit, un Jeton JWT est automatiquement généré pour cet utilisateur.

Si le JWT n'est pas envoyé ou est expiré, une erreur se produira.

Veuillez vous assurer de conserver votre Jeton JWT en lieu sûr, pour éviter les abus.



AD 350 x 600

DOKKY SUITE Demo - RÉFÉRENCE API POUR LES DÉVELOPPEURS





AUTHENTIFICATION


Note : Pour vous authentifier auprès du système d'API, vous devez envoyer votre JWT comme Jeton d'autorisation avec chaque requête. Vous pouvez voir l'exemple de code ci-dessous.


LIMITE DE DÉBIT


Note : Notre API dispose d'un limiteur de débit pour se prémunir contre les pics de requêtes afin de maximiser sa stabilité. Notre limiteur de débit est actuellement plafonné à 30 requêtes par minute.
Plusieurs en-têtes seront envoyés avec la réponse et ceux-ci peuvent être examinés pour déterminer diverses informations sur la requête.


GESTION DES RÉPONSES


Note : Toutes les réponses de l'API sont renvoyées par défaut au format JSON.
Pour convertir cela en données utilisables, la fonction appropriée devra être utilisée selon le langage. En PHP par exemple, la fonction json_decode() peut être utilisée pour convertir les données soit en un objet (par défaut) soit en un tableau (définissez le second paramètre sur true).
Il est très important de vérifier la clé d'erreur car elle fournit des informations sur la présence ou non d'une erreur.
Vous pouvez également vérifier le code d'en-tête.


API Téléchargement de Fichier - [POST]



Cette API vous permet de télécharger un fichier sur le serveur en spécifiant diverses métadonnées telles que le titre, la description, les tags et la licence. Elle peut également créer une nouvelle catégorie pour le fichier si nécessaire.

Exemple de requête curl
curl -X POST "https://dokky.scriptnet.net/api/V1/docs/api-upload" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/your/file.pdf" \
-F "title=Upload via API" \
-F "description=Upload File via API" \
-F "tags=tag1, tag2, upload, api, pdf, scriptnet" \
-F "category_id=1" \
-F "cc_license=CC BY" \
Paramètres requis
  • file (requis) : Le fichier à télécharger.
  • title (requis) : Le titre du fichier.
  • description (requis) : Une description du fichier.
  • tags (requis) : Les tags associés au fichier, séparés par des virgules.
  • category_id (requis) : L'ID de la catégorie existante.
  • new_category_name (optionnel) : Le nom de la nouvelle catégorie à créer (si category_id n'est pas fourni).
  • category_description (optionnel) : La description de la nouvelle catégorie.
  • category_tags (optionnel) : Les tags associés à la nouvelle catégorie, séparés par des virgules.
  • cc_license (requis) : La licence Creative Commons pour le fichier (par exemple 'CC BY') (List).
  • video (optionnel) : URL d'une vidéo associée (par exemple YouTube ou Vimeo).
Exemple de requête complète
curl -X POST "https://dokky.scriptnet.net/api/V1/docs/api-upload" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/your/file.pdf" \
-F "title=Upload via API" \
-F "description=Upload File via API" \
-F "tags=tag1, tag2, upload, api, pdf, scriptnet" \
-F "new_category_name=New Category Name" \
-F "category_description=New Category Description" \
-F "category_tags=tag1, tag2" \
-F "cc_license=CC BY-NC-ND" \
-F "video="
Exemple de réponse
{ "status": "success", "message": "File uploaded successfully.", "file_id": "12345", "category_id": "1", "category_name": "New Category"
}


API Téléchargement de Fichier - [GET]



Cette API vous permet de télécharger un fichier depuis le serveur en spécifiant l'ID du fichier. Elle vérifie que le fichier est disponible au téléchargement et qu'il n'est pas à vendre ou désactivé.

Exemple de requête curl
curl -X GET "https://dokky.scriptnet.net/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"
Paramètres requis
  • file_id (requis) : L'ID du fichier à télécharger.
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
Exemple de requête complète
curl -X GET "https://dokky.scriptnet.net/api/V1/docs/api-download?file_id=123" \
-H "X-Authorization: Bearer Your JWT Token here"

Réponse réussie
{ "status": "success", "original_file_name": "File_Name.pdf", "message": "File downloaded successfully"
}

Réponses d'erreur possibles
{ "status": "error", "message": "Rate limit exceeded. Please try again later."
}
{ "status": "error", "message": "File ID is required"
}
{ "status": "error", "message": "File not found"
}
{ "status": "error", "message": "File is either for sale or not enabled"
}
{ "status": "error", "message": "Invalid request method"
}


API Suppression de Fichier - [DELETE]



Cette API vous permet de supprimer un fichier en spécifiant son ID. Un jeton JWT valide est requis pour authentifier la demande de suppression de fichier.

Exemple de requête curl
curl -X DELETE "https://dokky.scriptnet.net/api/V1/docs/api-delete" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Paramètres requis
  • id (requis) : L'ID du fichier à supprimer.
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
  • Header Content-Type: Définir sur application/json pour envoyer les données au format JSON.
Exemple de requête complète
curl -X DELETE "https://dokky.scriptnet.net/api/V1/docs/api-delete" \
-H "X-Authorization: Your JWT Token here \
-H "Content-Type: application/json" \
-d '{"id": "20"}'
Réponse réussie
{ "status": "success", "message": "File deleted successfully"
}
Réponses d'erreur possibles
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "File ID is required"
}
{ "status": "error", "message": "File not found"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error during deletion"
}


API Recherche de Fichier - [POST]



Cette API vous permet de rechercher des fichiers en spécifiant un terme de recherche. Un jeton JWT valide est requis pour authentifier la demande de recherche.

Exemple de requête curl
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "your-search-term"}'
Paramètres requis
  • search (requis) : Le terme de recherche utilisé pour trouver les fichiers.
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
  • Header Content-Type: Définir sur application/json pour envoyer les données au format JSON.
Exemple de requête complète
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-search" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json" \
-d '{"search": "document"}'
Réponse réussie
{ "status": "success", "results": [ { "id": "123", "title": "Document Title", "link": "https://dokky.scriptnet.net/view/123", "description": "A brief description of the document", "category": "Category Name", "tag": "tag1, tag2" } ]
}
Réponses d'erreur possibles
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Search term is required"
}
{ "status": "error", "message": "No results found"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error during search"
}


API Statistiques de l'Utilisateur - [POST]



Cette API fournit des statistiques sur l'utilisateur authentifié, telles que le nombre total de commentaires, de fichiers téléchargés, de vues, de téléchargements et de ventes. Un jeton JWT valide est requis pour authentifier la requête.

Exemple de requête curl
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Paramètres requis
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
  • Header Content-Type: Définir sur application/json pour envoyer les données au format JSON..
Exemple de requête complète>
curl -X POST "https://dokky.scriptnet.net/api/V1/stats/api-stats" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Réponse réussie
{ "status": "success", "data": { "total_comments": 45, "total_files": 120, "total_views": 10500, "total_downloads": 800, "total_sales": 50 }
}
Description des champs dans la réponse
  • total_comments: Nombre total de commentaires de l'utilisateur.
  • total_files: Nombre total de fichiers téléchargés par l'utilisateur.
  • total_views: Nombre total de vues des fichiers de l'utilisateur.
  • total_downloads: Nombre total de téléchargements de fichiers de l'utilisateur.
  • total_sales: Nombre total de ventes de fichiers de l'utilisateur.
Réponses d'erreur possibles
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "Error fetching user stats"
}


API Fichiers de l'Utilisateur - [GET]



Cette API vous permet d'obtenir la liste des fichiers téléchargés par un utilisateur donné. Un jeton JWT valide est requis pour authentifier la requête. Vous pouvez spécifier l'ID de l'utilisateur pour voir les fichiers téléchargés.

Exemple de requête curl
curl -X GET "https://dokky.scriptnet.net/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Paramètres requis
  • Query Parameter user_id: ID de l'utilisateur dont vous souhaitez obtenir les fichiers.
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
  • Header Content-Type: Définir sur application/json pour envoyer les données au format JSON..
Exemple de requête complète
curl -X GET "https://dokky.scriptnet.net/api/V1/users/api-files?user_id=1" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Réponse réussie
{ "status": "success", "user": { "id": 1, "name": "John Doe" }, "files": [ { "file_id": 101, "upload_date": "2024-10-01", "title": "SEO Report", "description": "SEO Report October", "file_url": "https://dokky.scriptnet.net/view?report_october.pdf" }, { "file_id": 102, "upload_date": "2024-09-15", "title": "Preview SEO Project", "description": "Preview of the new SEO Project", "file_url": "https://dokky.scriptnet.net/view?project_preview.pdf" } ]
}
Description des champs dans la réponse
  • status: Statut de la réponse (par exemple, success).
  • user: Informations sur l'utilisateur (ID et nom).
  • files: Liste des fichiers téléchargés par l'utilisateur.
  • file_id: ID unique du fichier.
  • upload_date: Date à laquelle le fichier a été téléchargé.
  • title: Titre du fichier.
  • description: Description du fichier.
  • file_url: URL pour accéder au fichier.
Réponses d'erreur possibles
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "User not found"
}


API Commentaires de l'Utilisateur - [POST]



Cette API vous permet d'obtenir les commentaires reçus par un utilisateur authentifié. Vous devez fournir un jeton JWT valide pour accéder à cette ressource.

Exemple de requête curl
curl -X POST "https://dokky.scriptnet.net/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Paramètres requis
  • Header X-Authorization: Jeton JWT requis pour l'authentification.
  • Header Content-Type: Définir sur application/json pour envoyer les données au format JSON..
Exemple de requête complète
curl -X POST "https://dokky.scriptnet.net/api/V1/users/api-comments" \
-H "X-Authorization: Bearer Your JWT Token here" \
-H "Content-Type: application/json"
Réponse réussie
{ "status": "success", "data": [ { "comment_id": 201, "submission_date": "2024-10-05", "title": "Monthly Report Project", "comment": "I love the details of this Project, compliments!", "link": "https://dokky.scriptnet.net/view/report_october" }, { "comment_id": 202, "submission_date": "2024-09-20", "title": "Project Introduction", "comment": "This is an exellent Introduction! Well done!", "link": "https://dokky.scriptnet.net/view/project_preview" } ]
}
Description des champs dans la réponse
  • status: Statut de la réponse (par exemple, success).
  • data: Liste des commentaires reçus.
  • comment_id: ID unique du commentaire.
  • submission_date: Date à laquelle le commentaire a été posté.
  • title: Titre du contenu auquel le commentaire se réfère.
  • comment: Texte du commentaire reçu.
  • link: URL du contenu commenté.
Réponses d'erreur possibles
{ "status": "error", "message": "Missing JWT token"
}
{ "status": "error", "message": "Invalid JWT token"
}
{ "status": "error", "message": "User not found"
}