CalliCMS — API REST v1
L’API CalliCMS vous permet d’accéder programmatiquement au contenu de vos projets. Cette API REST utilise JSON pour les échanges de données et supporte CORS pour les applications web.
https://your-domain.com/api/v1Avant d'utiliser l'API, assurez-vous que votre projet et vos contenus sont correctement configurés.
Votre projet doit avoir le statut
Seuls les articles avec le statut
Chaque projet possède une clé API unique de 256 caractères.
L'API utilise des clés d'authentification de 256 caractères pour sécuriser l'accès à vos données. Chaque projet possède sa propre clé API unique.
/api/v1/projects/{projectSlug}Récupère les informations générales du projet et ses statistiques
/api/v1/projects/{projectSlug}/postsListe tous les articles publiés avec pagination et filtres
/api/v1/projects/{projectSlug}/posts/{postSlug}Récupère un article spécifique avec les articles liés
/api/v1/projects/{projectSlug}/authorsListe tous les auteurs avec le nombre d'articles
/api/v1/projects/{projectSlug}/categoriesListe toutes les catégories avec le nombre d'articles
// Installation
npm install axios
// Configuration
const API_KEY = 'cm_your_256_character_api_key_here'
const BASE_URL = 'https://your-domain.com/api/v1'
// Fonction utilitaire
const apiCall = async (endpoint, options = {}) => {
const response = await fetch(`${BASE_URL}${endpoint}`, {
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json',
...options.headers
},
...options
})
if (!response.ok) {
throw new Error(`API Error: ${response.status}`)
}
return response.json()
}
// Exemples d'utilisation
try {
// Récupérer les informations du projet
const project = await apiCall('/projects/my-blog')
// Lister les articles avec pagination
const posts = await apiCall('/projects/my-blog/posts?page=1&limit=10')
// Rechercher des articles
const searchResults = await apiCall('/projects/my-blog/posts?search=javascript')
// Filtrer par catégorie
const techPosts = await apiCall('/projects/my-blog/posts?category=tech')
// Récupérer un article spécifique
const post = await apiCall('/projects/my-blog/posts/my-article-slug')
} catch (error) {
console.error('Erreur API:', error)
}Solutions aux problèmes les plus courants rencontrés lors de l'utilisation de l'API.
npm run dev)http://localhost:3000/api/v1/projects/YOUR_SLUG/postsx-api-key: VOTRE_CLE/posts (sans paramètres category, author, etc.)Cette commande doit retourner les informations de votre projet. Si elle échoue, vérifiez d'abord les prérequis ci-dessus.
L'API utilise les codes de statut HTTP standards et retourne des erreurs au format JSON.
Clé API manquante ou invalide
Ressource non trouvée
Quota mensuel atteint ou abonnement suspendu
Chaque offre comprend un volume mensuel d’appels API. Une tolérance de 10 % évite une coupure brutale avant le blocage.
X-Quota-Limit, X-Quota-Used et X-Quota-Remaining pour suivre l’utilisation.