Endpoints de l'API Pages

Méthodes GET, POST, PATCH et DELETE pour la gestion des pages


GET - Lister les pages

Retourne la liste de toutes les pages du site avec leurs métadonnées.

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

Réponse

[
  {
    "id_page": 137,
    "slug_page": "documentation",
    "short_title_page": "Documentation",
    "long_title_page": "Documentation de l'API Markdodo",
    "description_page": "Guide complet de l'API Markdodo",
    "position_menu_page": 0.3,
    "position_submenu_page": 0,
    "id_parent_page": null,
    "show_date_page": 0
  }
]

Chaque objet contient les informations de la page mais pas le contenu Markdown.


GET - Lire le Markdown brut

Retourne le contenu Markdown brut d'une page.

Le slug de la page est obligatoire dans l'URL.

curl -s "https://markdodo.com/api/pages/markdown/documentation" \
  -H "Authorization: Bearer votre_cle_api"

Format général :

GET /api/pages/markdown/[slug-page]

POST - Créer une page

curl -s -X POST "https://markdodo.com/api/pages" \
  -H "Authorization: Bearer votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "slug_page": "ma-nouvelle-page",
    "short_title_page": "Ma Page",
    "long_title_page": "Ma nouvelle page",
    "description_page": "Description de ma page",
    "markdown": "# Titre\n\nContenu de ma page en Markdown.",
    "position_menu_page": 0.5,
    "position_submenu_page": 0,
    "id_parent_page": null,
    "show_date_page": 0
  }'

Paramètres du body

Paramètre Type Obligatoire Description
slug_page string Oui Slug unique et immuable
markdown string Oui Contenu Markdown
short_title_page string Non Titre menu
long_title_page string Non Titre complet
description_page string Non Description SEO
position_menu_page float Non Position menu
position_submenu_page float Non Position sous-menu
id_parent_page integer/null Non Page parente
show_date_page integer Non Afficher les dates (0 ou 1)

Le slug vide "" est réservé à la page d'accueil.


PATCH - Modifier une page

curl -s -X PATCH "https://markdodo.com/api/pages" \
  -H "Authorization: Bearer votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "slug_page": "ma-nouvelle-page",
    "markdown": "# Nouveau contenu",
    "show_date_page": 1
  }'

Le slug_page sert à identifier la page cible et ne peut pas être modifié.


DELETE - Supprimer une page

curl -s -X DELETE "https://markdodo.com/api/pages" \
  -H "Authorization: Bearer votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{"slug_page": "ma-nouvelle-page"}'

Gestion des erreurs

{
  "error": "Clé API invalide"
}
Erreur Cause probable
Clé API invalide Header Authorization invalide
Le champs slug_page est obligatoire slug absent
Impossible de trouver la page ciblée slug introuvable
Ce slug est déjà utilisé doublon lors d'une création
Données vides body vide