✓ CLEAN ROUTER v2.0 https://developers.rediafile.com/fr/docs/getting-started?slug=getting-started
📖 Documentation

Rediafile Cloud API v2

v2.0 Mis à jour: 28 août 2026

Rediafile Cloud API v2

Guide complet pour développeurs et clients Business. Intégrez l'upload, le partage et la gestion de fichiers dans vos applications.

Base URLrediafile.com/cloud/api/v2/
FormatJSON / UTF-8
ProtocoleHTTPS (recommandé)
MéthodePOST (sauf mention)

📘 Vue d'ensemble

L'API Rediafile vous permet d'intégrer de manière sécurisée l'upload, la gestion et le téléchargement de fichiers directement depuis vos propres applications. Tous les endpoints retournent des réponses au format JSON encodé en UTF-8.

Compatibilité garantie — Cette API évoluera dans le temps, mais aucun endpoint ou valeur de réponse actuelle ne sera modifié. Vous pouvez écrire votre code d'intégration en toute confiance.
1. Authentifier/authorize
2. Obtenir Tokenaccess_token
3. Appeler APIavec token
4. Réponse JSONtraitement

Base URL

https://rediafile.com/cloud/api/v2/

Exigences techniques

AspectSpécification
EncodageUTF-8 obligatoire pour toutes les chaînes
ProtocoleHTTPS fortement recommandé (SSL requis)
Méthode HTTPPOST (sauf mention contraire)
Format datesY-m-d H:i:s (ex: 2026-08-01 14:12:11)
Content-Typeapplication/x-www-form-urlencoded ou multipart/form-data pour les uploads

🚀 Démarrage rapide

En 3 étapes, effectuez votre premier appel API :

Étape 1 Récupérer vos clés API

Connectez-vous à votre compte Rediafile → Account Settings → API Access. Vous y trouverez Key 1 et Key 2 (64 caractères chacune).

Étape 2 Obtenir un access_token
curl -X POST https://rediafile.com/cloud/api/v2/authorize \
  -d "username=votre_username" \
  -d "password=votre_password"
Étape 3 Utiliser le token
curl -X POST https://rediafile.com/cloud/api/v2/account/info \
  -d "access_token=VOTRE_TOKEN" \
  -d "account_id=VOTRE_ACCOUNT_ID"

🔐 Authentification

Toutes les requêtes API nécessitent un access_token et un account_id valides. Ceux-ci sont obtenus via l'endpoint /authorize en soumettant vos identifiants de compte ou vos clés API.

Session — Le même access_token peut être réutilisé plusieurs fois. Ne générez pas un nouveau token pour chaque requête. Les tokens expirent automatiquement après 1 heure d'inactivité.

POST /authorize

Fournit un access_token et un account_id pour effectuer des requêtes ultérieures.

https://rediafile.com/cloud/api/v2/authorize

Paramètres

ParamètreTypeRequisDescription
usernamestringOui*Nom d'utilisateur du compte
passwordstringOui*Mot de passe du compte
key1string (64)Oui*Clé API 1 (depuis Account Settings)
key2string (64)Oui*Clé API 2 (depuis Account Settings)

* Soit username/password, soit key1/key2. Les clés API sont recommandées pour les intégrations automatisées.

Réponse succès

{
  "data": {
    "access_token": "X3Xp6cUcue22Q3AlpCiZz3mJQWPT2v10zZqGblSGzVIqZiMoV4ou8LeYH4SKAUL9...",
    "account_id": "158642"
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

Erreurs possibles

MessageCause
Please provide a username.Paramètre username manquant
Please provide a password.Paramètre password manquant
Please provide key1. It must be 64 characters.Clé API 1 invalide
Please provide key2. It must be 64 characters.Clé API 2 invalide
Could not authenticate user.Identifiants invalides ou compte verrouillé
Failed issuing access token.Erreur interne de génération

POST /disable_access_token

Désactive un access_token actif. Optionnel — les tokens expirent automatiquement après 1h d'inactivité.

https://rediafile.com/cloud/api/v2/disable_access_token
ParamètreTypeRequisDescription
access_tokenstringOuiToken à désactiver
account_idstringOuiID du compte

⚠️ Codes d'erreur HTTP

Les erreurs sont retournées via les codes HTTP standards. Les informations complémentaires sont incluses dans le corps de la réponse au format JSON.

CodeDescriptionAction recommandée
400Bad input parameterVérifiez les paramètres envoyés
401Bad or expired tokenRé-authentifiez-vous via /authorize
404File not foundVérifiez le file_id ou short_url
405Method not expectedUtilisez POST (ou GET si spécifié)
429Rate limit reachedRéduisez la fréquence des requêtes
5xxServer errorRéessayez plus tard ou contactez le support

Format d'erreur JSON

{
  "status": "error",
  "response": "Could not authenticate user. The username and password may be invalid...",
  "_datetime": "2026-08-01 14:12:11"
}

👤 Compte

POST /account/info

Fournit les détails du compte associé à l'account_id.

https://rediafile.com/cloud/api/v2/account/info
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte

Réponse

{
  "data": {
    "id": "158642",
    "username": "admin",
    "level_id": "20",
    "email": "email@yoursite.com",
    "lastlogindate": "2017-02-18 11:43:39",
    "lastloginip": "192.168.33.1",
    "status": "active",
    "title": "Mr",
    "firstname": "Admin",
    "lastname": "User",
    "languageId": "1",
    "datecreated": null,
    "lastPayment": "2011-12-27 13:45:22",
    "paidExpiryDate": null,
    "storageLimitOverride": null
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /account/package

Fournit les restrictions du compte héritées du forfait associé.

https://rediafile.com/cloud/api/v2/account/package
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte

Champs clés de la réponse

ChampDescription
labelNom du forfait (ex: "Premium Account")
max_upload_sizeTaille max d'upload en octets
can_upload1 = upload autorisé, 0 = non
concurrent_uploadsNombre d'uploads simultanés max
max_remote_download_urlsURLs distantes max (50 par défaut)
level_typeType de compte ("paid user", etc.)

📁 Fichiers

POST /file/upload

Interface d'upload de fichiers. Note : Les uploads chunkés ne sont pas encore supportés.

https://rediafile.com/cloud/api/v2/file/upload
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
upload_filefileOuiFichier à uploader (multipart/form-data)
folder_idstringNonID du dossier cible (racine si vide)
Content-Type requis — Pour cet endpoint, utilisez multipart/form-data avec le fichier en pièce jointe.

Réponse succès

{
  "response": "File uploaded",
  "data": [{
    "name": "sample4_l.jpg",
    "size": "149084",
    "type": "application/octet-stream",
    "url": "https://rediafile.com/2Vv",
    "delete_url": "https://rediafile.com/2Vv~d?41efa710444abad11a8f4b5a90e4d746",
    "info_url": "https://rediafile.com/2Vv~i",
    "stats_url": "https://rediafile.com/2Vv~s",
    "short_url": "2Vv",
    "file_id": "1253",
    "unique_hash": "60b0be7e3b18de9a3f00d940a8e5a9834c6cdc0f49d40af64973be5ca504c4fd",
    "url_html": "<a href=...>view sample4_l.jpg on Rediafile</a>",
    "url_bbcode": "[url]https://rediafile.com/2Vv[/url]"
  }],
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /file/download

Génère une URL de téléchargement unique pour un fichier.

https://rediafile.com/cloud/api/v2/file/download
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOui*ID numérique du fichier
short_urlstringOui*URL courte du fichier

* Un des deux paramètres est requis : file_id OU short_url.

Réponse

{
  "data": {
    "file_id": "1253",
    "filename": "sample4_l.jpg",
    "download_url": "https://rediafile.com/2Vv?download_token=c3e6289a23e9819d8663569da96087d0..."
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /file/url_upload_add

Importe un fichier depuis une URL externe. Disponible uniquement si le téléchargement d'URL en arrière-plan est activé.

https://rediafile.com/cloud/api/v2/file/url_upload_add
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_url_base64stringOuiURL externe encodée en base64
folder_idstringNonID du dossier cible

Réponse

{
  "response": "File download from URL scheduled",
  "data": {
    "scheduled_item_id": 52,
    "url": "https://yetishare.com/_include/images/yetishare_logo.png"
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /file/url_upload_status

Affiche le statut d'un téléchargement d'URL programmé.

https://rediafile.com/cloud/api/v2/file/url_upload_status
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
scheduled_item_idintOuiID retourné par /file/url_upload_add

Réponse (statut "complete")

{
  "response": "Scheduled URL file download found",
  "data": {
    "scheduled_item_id": 51,
    "status": "complete",
    "created": "2024-01-25 19:34:52",
    "started": "2024-01-25 20:24:53",
    "finished": "2024-01-25 20:24:54",
    "total_size": 17262,
    "downloaded_file": {
      "file_id": 11456,
      "name": "file_upload_script_logo.png",
      "size": 17262,
      "url": "https://rediafile.com/sZG/file_upload_script_logo.png"
    }
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /file/info

Fournit les métadonnées et URLs d'un fichier.

https://rediafile.com/cloud/api/v2/file/info
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOuiID du fichier

POST /file/edit

Modifie les métadonnées d'un fichier.

https://rediafile.com/cloud/api/v2/file/edit
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOuiID du fichier à modifier
filenamestringNonNouveau nom (vide = inchangé)
fileTypestringNonNouveau MIME type (ex: application/octet-stream)
folder_idstringNonNouveau dossier parent (vide = inchangé)

POST /file/delete

Supprime un fichier actif (déplace vers la corbeille).

https://rediafile.com/cloud/api/v2/file/delete
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOuiID du fichier à supprimer

POST /file/move

Déplace un fichier vers un autre dossier.

https://rediafile.com/cloud/api/v2/file/move
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOuiID du fichier
new_parent_folder_idstringOuiID du dossier de destination

POST /file/copy

Copie un fichier vers un autre dossier.

https://rediafile.com/cloud/api/v2/file/copy
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
file_idstringOuiID du fichier source
copy_to_folder_idstringOuiID du dossier de destination

Réponse

{
  "response": "File successfully copyied.",
  "original_file": { "data": { "id": "1162", "filename": "...", "shortUrl": "2U2" } },
  "new_file": { "data": { "id": "1254", "filename": "...", "shortUrl": "2Vw" } },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

📂 Dossiers

POST /folder/create

Crée un nouveau dossier.

https://rediafile.com/cloud/api/v2/folder/create
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
folder_namestringOuiNom du nouveau dossier
parent_idstringNonID du dossier parent
is_publicintNon0=Privé, 1=Non listé, 2=Public (défaut: 0)
access_passwordstring (32)NonHash MD5 du mot de passe (32 caractères)

POST /folder/listing

Retourne la liste des dossiers et fichiers d'un dossier parent.

https://rediafile.com/cloud/api/v2/folder/listing
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
parent_folder_idstringNonID du dossier parent (vide = racine)

Réponse

{
  "data": {
    "folders": [ { "id": "123", "folderName": "My Folder 1", ... } ],
    "files": [ { "id": "1161", "filename": "button_back.gif", "shortUrl": "2U1", ... } ]
  },
  "_status": "success",
  "_datetime": "2026-08-01 14:12:11"
}

POST /folder/info

Fournit les informations d'un dossier spécifique.

https://rediafile.com/cloud/api/v2/folder/info
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
parent_folder_idstringNonID du dossier

POST /folder/edit

Modifie un dossier existant.

https://rediafile.com/cloud/api/v2/folder/edit
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
folder_idstringOuiID du dossier à modifier
folder_namestringNonNouveau nom
parent_idstringNonNouveau dossier parent
is_publicintNon0=Privé, 1=Non listé, 2=Public
access_passwordstring (32)NonHash MD5 du mot de passe

POST /folder/delete

Supprime un dossier.

https://rediafile.com/cloud/api/v2/folder/delete
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
folder_idstringOuiID du dossier à supprimer

POST /folder/move

Déplace un dossier vers un autre emplacement.

https://rediafile.com/cloud/api/v2/folder/move
ParamètreTypeRequisDescription
access_tokenstringOuiToken d'accès
account_idstringOuiID du compte
folder_idstringOuiID du dossier à déplacer
new_parent_folder_idstringOuiID du dossier de destination

💻 Exemples de code

cURL — Authentification

curl -X POST https://rediafile.com/cloud/api/v2/authorize \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=admin" \
  -d "password=mon_mot_de_passe"

cURL — Upload de fichier

curl -X POST https://rediafile.com/cloud/api/v2/file/upload \
  -F "access_token=VOTRE_TOKEN" \
  -F "account_id=VOTRE_ACCOUNT_ID" \
  -F "upload_file=@/chemin/vers/monfichier.zip" \
  -F "folder_id=123"

PHP — Upload complet

<?php
$token = 'VOTRE_ACCESS_TOKEN';
$accountId = 'VOTRE_ACCOUNT_ID';
$filePath = '/chemin/vers/fichier.jpg';

$ch = curl_init('https://rediafile.com/cloud/api/v2/file/upload');
$postData = [
    'access_token' => $token,
    'account_id' => $accountId,
    'upload_file' => new CURLFile($filePath)
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);

echo "URL: " . $data['data'][0]['url'];
curl_close($ch);
?>

Python — Téléchargement depuis URL

import requests, base64

url = "https://rediafile.com/cloud/api/v2/file/url_upload_add"
payload = {
    "access_token": "VOTRE_TOKEN",
    "account_id": "VOTRE_ACCOUNT_ID",
    "file_url_base64": base64.b64encode(b"https://example.com/image.png").decode(),
    "folder_id": "123"
}

response = requests.post(url, data=payload)
print(response.json())

JavaScript (Node.js) — Liste des dossiers

const axios = require('axios');

async function listFolders() {
  const res = await axios.post('https://rediafile.com/cloud/api/v2/folder/listing', {
    access_token: 'VOTRE_TOKEN',
    account_id: 'VOTRE_ACCOUNT_ID',
    parent_folder_id: ''  // racine
  });
  console.log(res.data.data.folders);
}

listFolders();

JavaScript (Fetch) — Générer lien de téléchargement

fetch('https://rediafile.com/cloud/api/v2/file/download', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    access_token: 'VOTRE_TOKEN',
    account_id: 'VOTRE_ACCOUNT_ID',
    file_id: '1253'
  })
})
.then(r => r.json())
.then(data => console.log(data.data.download_url));

✅ Bonnes pratiques

Sécurité Utilisez toujours HTTPS

Toutes les requêtes doivent passer par HTTPS. Vous pouvez forcer SSL côté serveur pour garantir la sécurité des tokens et des données.

Performance Réutilisez les tokens

Un access_token reste valide pendant 1 heure. Stockez-le en session et réutilisez-le pour toutes vos requêtes au lieu de régénérer un token à chaque appel.

Fiabilité Gérez les erreurs

Vérifiez toujours _status dans la réponse JSON. En cas d'erreur ("error"), lisez le champ response pour le message détaillé.

Encodage Base64 pour les URLs

Pour /file/url_upload_add, encodez toujours l'URL en base64 avant de l'envoyer. Utilisez utf-8 pour tout le texte.

Limitation Pas de chunked upload

Les uploads chunkés ne sont pas encore supportés. Pour les fichiers volumineux, utilisez /file/url_upload_add ou vérifiez max_upload_size via /account/package.

📊 Limites & Restrictions

AspectValeur / Comportement
Expiration token1 heure d'inactivité
Rate limitingHTTP 429 si limite atteinte
Upload chunksNon supporté actuellement
Upload URL distanteMax 50 URLs (selon forfait)
EncodageUTF-8 obligatoire
Clés API64 caractères exactement
Mot de passe dossierHash MD5, 32 caractères
Forfaits Business — Les limites de stockage, de taille d'upload et de bande passante dépendent de votre forfait. Consultez /account/package pour connaître vos restrictions actuelles.

❓ FAQ

Comment obtenir mes clés API ?

Connectez-vous à votre compte Rediafile → Account Settings → API Access. Vous verrez Key 1 et Key 2. Chaque clé fait exactement 64 caractères.

Puis-je utiliser username/password au lieu des clés API ?

Oui, l'endpoint /authorize accepte soit username + password, soit key1 + key2. Les clés API sont recommandées pour les intégrations automatisées car elles ne changent pas lors d'un changement de mot de passe.

Mon token a expiré, que faire ?

Appelez à nouveau /authorize pour obtenir un nouveau access_token. Les tokens expirent après 1 heure d'inactivité.

Comment uploader un fichier dans un dossier spécifique ?

Utilisez le paramètre folder_id dans /file/upload. Obtenez l'ID du dossier via /folder/listing.

L'upload de fichiers volumineux est-il supporté ?

Les uploads chunkés ne sont pas encore disponibles. La taille max dépend de votre forfait (voir /account/packagemax_upload_size). Pour les très gros fichiers, utilisez /file/url_upload_add.

Puis-je intégrer Rediafile dans mon application mobile ?

Oui, l'API est compatible avec toutes les plateformes. Utilisez des requêtes HTTP POST standard depuis iOS, Android, Flutter, React Native, etc.

Besoin d'aide ?

Testez les endpoints en direct dans le bac à sable.

Ouvrir le bac à sable