Authentification

Configuration de la clé API et du header Bearer


Principe

Toutes les requêtes à l'API Markdodo doivent être authentifiées à l'aide d'une clé API transmise dans le header HTTP Authorization. Ce mécanisme garantit que seules les applications autorisées peuvent accéder à vos pages et les modifier.

La clé API est liée à un site spécifique. Si vous possédez plusieurs sites sur Markdodo, chacun dispose de sa propre clé API. Vous trouverez vos clés dans l'espace membre, section Clés API.

Important : Ne partagez jamais votre clé API et ne l'intégrez jamais dans du code côté client (navigateur). Elle doit uniquement être utilisée depuis votre serveur ou vos scripts sécurisés.


Obtenir une clé API

  1. Connectez-vous à votre espace membre sur markdodo.com
  2. Rendez-vous dans la section Clés API du tableau de bord
  3. Sélectionnez le site concerné et cliquez sur Nouvelle clé
  4. Copiez la clé immédiatement (elle ne sera plus affichée par la suite)

Utiliser la clé API

La clé doit être envoyée dans le header Authorization avec le préfixe Bearer :

curl -s "https://markdodo.com/api/pages" \
  -H "Authorization: Bearer 6fa5a2ae49a72ee100430b177822ecb58e79858e"

Exemple en Python

import requests

API_URL = "https://markdodo.com/api/pages"
API_KEY = "votre_cle_api"

headers = {
    "Authorization": f"Bearer {API_KEY}"
}

response = requests.get(API_URL, headers=headers)
pages = response.json()
print(pages)

Exemple en PHP

$ch = curl_init("https://markdodo.com/api/pages");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer votre_cle_api"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$pages = json_decode($response, true);
print_r($pages);

Sécurité : Dans tous les exemples ci-dessus, la clé API doit être stockée dans une variable d'environnement et jamais codée en dur dans le fichier source. Utilisez os.environ["API_KEY"] (Python) ou getenv("API_KEY") (PHP) en production.


Erreurs d'authentification

Si la clé est manquante, invalide ou ne correspond pas au site ciblé, l'API retourne une erreur :

{
  "error": "Clé API invalide"
}

Vérifiez que :