Introduction
Bienvenue sur la documentation de l'API Nexelion. Cette API RESTful vous permet d'intégrer les fonctionnalités de stockage et de partage de fichiers de Nexelion directement dans vos applications.
Accès Réservé
L'API est exclusivement accessible aux utilisateurs disposant d'un abonnement Premium ou Ultra. Les comptes gratuits n'ont pas accès aux clés API.
Base URL: https://file.nexelion.fr/api/v1
Authentification
L'authentification se fait via une clé API (API Key) que vous pouvez générer dans votre tableau de bord (Paramètres > API).
Cette clé doit être incluse dans le header x-api-key de chaque requête.
{
"x-api-key": "nx_a1b2c3d4e5f6..."
}
⚠️ Ne partagez jamais votre clé API. Si elle est compromise, révoquez-la immédiatement depuis votre dashboard.
Erreurs & Rate Limits
L'API utilise les codes HTTP standard pour indiquer le succès ou l'échec d'une requête. Toutes les réponses (succès ou erreur) incluent un champ watermark.
| Code | Description |
|---|---|
| 200 OK | La requête a réussi. |
| 400 Bad Request | Paramètres invalides ou manquants. |
| 401 Unauthorized | Clé API manquante ou invalide. |
| 403 Forbidden | Votre abonnement ne permet pas cette action. |
| 413 Payload Too Large | Le fichier dépasse la limite autorisée (50GB Premium / 30GB Ultra). |
| 429 Too Many Requests | Limite de requêtes atteinte (1000 req/heure). |
Format d'Erreur
{
"error": "UNAUTHORIZED",
"message": "Invalid API Key",
"watermark": "Nexelion - The Future of Storage"
}
GET User Info
Récupère les informations de l'utilisateur courant, son rôle et l'utilisation du stockage.
/user
const axios = require('axios');
const response = await axios.get('https://file.nexelion.fr/api/v1/user', {
headers: { 'x-api-key': 'VOTRE_CLE_API' }
});
console.log(response.data);
{
"id": "cuid_123456789",
"name": "Jean Dupont",
"email": "jean@example.com",
"role": "PREMIUM",
"storageUsed": 52428800,
"quota": 53687091200,
"watermark": "Nexelion - The Future of Storage"
}
GET List Files
Liste les fichiers à la racine ou dans un dossier spécifique.
/files
Paramètres (Query)
folderId(optionnel) : ID du dossier à lister.limit(optionnel) : Nombre de fichiers (défaut 50, max 100).page(optionnel) : Numéro de page.
{
"files": [
{
"id": "file_abc123",
"name": "document.pdf",
"size": 1048576,
"type": "application/pdf",
"createdAt": "2024-03-20T10:00:00Z",
"url": "https://file.nexelion.fr/f/file_abc123"
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1
},
"watermark": "Nexelion - The Future of Storage"
}
POST Upload File
Téléverse un fichier. Supporte multipart/form-data.
/upload
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const form = new FormData();
form.append('file', fs.createReadStream('image.png'));
const response = await axios.post('https://file.nexelion.fr/api/v1/upload', form, {
headers: {
...form.getHeaders(),
'x-api-key': 'VOTRE_CLE_API'
}
});
{
"success": true,
"file": {
"id": "file_xyz789",
"name": "image.png",
"size": 2048,
"url": "https://file.nexelion.fr/f/file_xyz789"
},
"watermark": "Nexelion - The Future of Storage"
}
DELETE Delete File
Supprime définitivement un fichier.
/file/:id
{
"success": true,
"message": "File deleted",
"watermark": "Nexelion - The Future of Storage"
}