Clustraly
Jetons API, webhooks & API REST

Publiez et actualisez vos articles par programmation avec l'API REST publique d'écriture (/api/v1)

API REST publique écriture des articles (/api/v1) une fonctionnalité du module Jetons API, webhooks & API REST de Clustraly. L'API REST publique d'écriture (/api/v1) crée et met à jour vos articles par POST et PUT, avec HTML assaini et scope content:write requis.

Branchez vos outils sur Clustraly : un POST crée un article, un PUT le met à jour par son slug. Le CMS assainit le HTML, normalise le statut, recalcule mots et temps de lecture, déclenche vos webhooks et journalise chaque écriture. L'IA propose, vous décidez du statut.

Écriture par API

Créez et mettez à jour vos articles depuis vos propres outils

Vous rédigez ailleurs, vous publiez ici. Un POST /api/v1/articles crée un article, un PUT /api/v1/articles/{slug} le met à jour sans copier-coller manuel ni allers-retours dans l'interface.

L'API applique vos règles : vous décidez du contenu, du statut et du moment. Clustraly exécute, met en forme et propage.

  • POST /api/v1/articles pour créer
  • PUT /api/v1/articles/{slug} pour mettre à jour
  • Jeton porteur du scope content:write requis
Créer un jeton content:write
Fonctionnement

Un contenu propre et prêt à publier, à chaque appel

À chaque écriture, Clustraly recalcule le nombre de mots et le temps de lecture, et normalise le statut à draft ou published. Vous envoyez le contenu, le CMS le met en forme.

Vous changez le slug ? Il est auto-unifié et une redirection est créée, pour que vos anciennes URL continuent de résoudre.

  • Statut limité à draft ou published
  • Nombre de mots et temps de lecture recalculés
  • Slug auto-unifié avec redirection au changement
Garde-fous

Le même nettoyage HTML anti-XSS que l'administration

Tout HTML entrant passe par le même assainisseur que l'éditeur admin (HtmlSanitizer::clean). Le contenu injecté par API ne peut donc pas introduire de XSS stocké.

L'écriture n'est ouverte qu'aux jetons portant content:write : lecture et écriture restent séparées, vous accordez exactement le niveau d'accès nécessaire.

  • HTML assaini contre le XSS stocké
  • Nettoyage identique au chemin admin
  • Écriture réservée au scope content:write
Automatisation

Vos écritures déclenchent vos automatisations

Créer ou publier via l'API déclenche les hooks content.saving, content.saved et content.published les mêmes que l'éditeur. Vos webhooks abonnés partent donc automatiquement.

Un article publié par API prévient vos systèmes souscrits (article.published) sans code de colle supplémentaire.

  • Hooks content.saving / saved / published déclenchés
  • Webhooks abonnés propagés automatiquement
  • Même pipeline que l'éditeur admin
Traçabilité

Chaque écriture reste attribuée à son jeton

Les actions api.article.create et api.article.update sont journalisées dans l'audit, avec l'identifiant du jeton appelant. Vous savez qui a écrit quoi, et par quel jeton.

Combinée au suivi de dernière utilisation des jetons, cette piste d'audit garde vos intégrations lisibles et révocables.

  • api.article.create / api.article.update audités
  • Identifiant du jeton appelant enregistré
  • Piste d'audit complète des écritures API
Cas d'usage

De la migration à la publication continue

Importez un stock d'articles, synchronisez un pipeline éditorial, ou laissez un assistant IA préparer des brouillons que vous validez avant publication.

Le statut draft garde la décision finale entre vos mains : l'IA propose, vous publiez.

  • Migration et imports d'articles en masse
  • Publication continue depuis un pipeline externe
  • Brouillons IA validés avant mise en ligne
Pourquoi ça compte

L'IA propose, vous décidez

Un brouillon posté par API reste un brouillon tant que vous ne le publiez pas. Le statut draft/published place la décision finale entre vos mains, le HTML est assaini comme en admin, et chaque écriture laisse une trace d'audit rattachée à son jeton.

FAQ

Questions fréquentes

Quelles routes permettent d'écrire des articles ?
POST /api/v1/articles crée un article et PUT /api/v1/articles/{slug} le met à jour. Les deux exigent un jeton portant le scope content:write.
Le HTML envoyé par l'API est-il sécurisé ?
Oui. Il est nettoyé par le même assainisseur que l'interface d'administration (HtmlSanitizer::clean), ce qui protège contre le XSS stocké, exactement comme dans le chemin admin.
Que se passe-t-il si je change le slug d'un article ?
Le slug est auto-unifié et une redirection est créée automatiquement, afin que les anciennes URL continuent de résoudre après la mise à jour.
Une écriture par API déclenche-t-elle mes webhooks ?
Oui. Les hooks content.saving, content.saved et content.published sont déclenchés, ce qui fait partir les webhooks abonnés comme depuis l'éditeur. Les actions sont aussi journalisées avec l'id du jeton appelant.
Prêt à commencer ?

Écrivez vos articles par API, en gardant le contrôle

Branchez vos outils sur /api/v1, créez et mettez à jour vos articles avec un jeton content:write, et laissez Clustraly assainir le HTML, normaliser le statut, recalculer mots et temps de lecture, propager vos webhooks et journaliser chaque écriture. Vous décidez du statut ; le CMS s'occupe du reste.