API:Edit/fr

Token
Pour éditer une page, un jeton d'édition (edit token) est requis. Ce token est le même pour toutes les pages - bien qu'il change à chaque connexion. Si vous voulez vous prémunir contre les conflits d'édition (ce qui serait sage), vous avez aussi besoin d'obtenir le timestamp de la dernière modification. Vous pouvez obtenir ces informations ainsi :

Édition de pages
Les pages peuvent être créées et éditées en utilisant le parmètre action=edit.

Paramètres

 * : Page à éditer.
 * : Section à éditer. Utilisez « 0 » pour la section d'introduction, « new » pour une nouvelle section.
 * : Nouveau contenu de la page (ou de la section).
 * : Jeton d'édition.
 * : Commentaire d'édition.
 * Avec, ce paramètre sera utilisé pour le titre de la section.
 * : Si fourni, marque l'édition comme mineur.
 * : Si fourni, ne marque pas l'édition comme mineur, même si vous avez l'option « Considérer mes modifications comme mineures par défaut » activée dans vos préférences.
 * : Si fourni, marque l'édition comme ayant été réalisée par un bot. Même si vous utilisez un compte avec le statut de bot, les éditions ne seront pas marquées comme telles sans ce paramètre.
 * : Timestamp de la dernière modification, utilisé pour détecter les conflits d'éditions. Ne pas fournir pour ignorer les conflits.
 * : Timestamp de l'obtention du jeton d'édition, utilisé pour détecter les conflits d'éditions. Ne pas fournir pour ignorer les conflits.
 * : Si fourni, supprime les erreurs à propos des pages ayant été supprimés entre-temps et les recrée.
 * : Si fourni, déclenche une erreur lorsque la page existe déjà.
 * : Si fourni, déclenche une erreur si la page n'existe pas encore.
 * : Si fourni, ajoute la page à la liste de suivi.
 * : Si fourni, supprime la page de la liste de suivi, ou ne l'ajoute pas même si vous avez l'option « Ajouter les pages que je modifie à ma liste de suivi » activée dans vos préférences.
 * : hash MD5 du paramètre . Si ce paramètre est fourni et que les hash ne correspondent pas, l'édition est refusée. Ceci est utile pour se protéger des corruptions de données.
 * : ID du CAPTCHA de la précédente requête.
 * : Réponse au CAPTCHA
 * : ID de la modification à défaire. Passe outre les paramètres,   et.
 * : Défait toutes les modifications de  jusqu'à , mais sans inclure ce dernier. Si non fourni, ne défait que la révision.

Exemple
Note: Dans cet exemple, tous les paramètres sont passés dans une requête GET, pour des raisons de simplicité. Toutefois, action=edit nécessite des requêtes POST ; les requêtes GET causeront une erreur. N'oubliez pas de mettre l'header  de votre requête à la valeur. Le jeton que vous recevez se termine par  : il doit être encodé (et donc terminé réellement par  ) avant d'être envoyé.

CAPTCHAs et erreurs des extensions
Si une édition nécessite un CAPTCHA, vous obtiendrez quelque chose comme ceci : Dans la majorité des cas, vous n'obtiendrez pas un CAPTCHA mathématique, mais l'URL d'une image CAPTCHA (dans le champ ). Quand vous avez résolu le CAPTCHA, réessayer la requête (en l'occurence, avec )

Les autres extensions qui utilisent l'APIEditBeforeSave-Hook peuvent retournez les erreurs dans le format décrit sur cette page ou bien dans le format d'erreur classique.

Erreurs possibles
En plus des erreurs classiques, les erreurs suivantes peuvent être rencontrées :


 * code: notitle
 * info: Le paramètre  doit être fourni.
 * code: notext
 * info: Un des paramètres,  ,   ou   doit être fourni.
 * code: notoken
 * info: Le paramètre  doit être fourni.
 * code: invalidsection
 * info: Le paramètre  doit être un entier ou la chaine new
 * code: protectedtitle
 * info: Ce titre est protégé et la page ne peut être créée.
 * code: cantcreate
 * info: Vous n'avez pas la permission de créer de nouvelles pages.
 * code: cantcreate-anon
 * info: Les utilisateurs anonymes ne peuvent créer de nouvelles pages.
 * code: articleexists
 * info: L'article que vous tentez de créer existe déjà.
 * code: noimageredirect-anon
 * info: Les utilisateurs anonymes ne peuvent créer de redirections d'images.
 * code: noimageredirect
 * info: Vous n'avez pas la permission de créer des redirections d'images.
 * code: spamdetected
 * info: Votre édition a été refusée car elle contient un élément de spam : ``wikitext ''
 * code: filtered
 * info: La fonction de filtre a refusé votre édition.
 * code: contenttoobig
 * info: Le contenu que vous envoyez dépasse la taille limite autorisée de bytes bytes.
 * code: noedit-anon
 * info: Les utilisateurs anonymes ne peuvent éditer d'articles.
 * code: noedit
 * info: Vous n'avez pas la permission d'éditer des articles
 * code: pagedeleted
 * info: La page a été supprimé entre-temps
 * code: emptypage
 * info: Créer une nouvelle page vide n'est pas autorisée.
 * code: emptynewsection
 * info: Créer une nouvelle section vide n'est pas autorisée.
 * code: editconflict
 * info: Un conflit d'édition a été détecté.
 * code: revwrongpage
 * info: rrevid n'est pas une modification de la page ``pagename ''
 * (Apparait lorsqu'un ID invalide est fourni pour  ou  )
 * code: undo-failure
 * info: La modification n'a pas pu être défaite à cause d'éditions intermédiaires.