Довідка API Медіавікі

Це автоматично генерована сторінка документації API Медіавікі.

Документація та приклади: https://www.mediawiki.org/wiki/API

Головний модуль

  • Джерело: MediaWiki
  • Ліцензія: GPL-2.0+

Статус: Усі функції, вказані на цій сторінці, мають працювати, але API далі перебуває в активній розробці і може змінитися у будь-який момент. Підпишіться на список розсилки mediawiki-api-announce, щоб помічати оновлення.

Хибні запити: Коли до API надсилаються хибні запити, буде відіслано HTTP-шапку з ключем «MediaWiki-API-Error», а тоді і значення шапки, і код помилки, надіслані назад, будуть встановлені з тим же значенням. Більше інформації див. на API: Errors and warnings.

Параметри:
action

Яку дію виконати.

Одне значення: block, checktoken, clearhasmsg, compare, createaccount, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, login, logout, managetags, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, revisiondelete, rollback, rsd, setnotificationtimestamp, stashedit, tag, tokens, unblock, undelete, upload, userrights, watch
За замовчуванням: help
format

Формат виводу.

Одне значення: dbg, dbgfm, json, jsonfm, none, php, phpfm, rawfm, txt, txtfm, xml, xmlfm, yaml, yamlfm
За замовчуванням: jsonfm
maxlag

Максимальна затримка може використовуватися, коли MediaWiki інстальовано на реплікований кластер бази даних. Щоб зберегти дії, які спричиняють більшу затримку реплікації, цей параметр може змусити клієнт почекати, поки затримка реплікації не буде меншою за вказане значення. У випадку непомірної затримки, видається код помилки maxlag з повідомленням на зразок Очікування на $host: $lag секунд(и) затримки.
Див. Manual: Maxlag parameter для детальнішої інформації.

Тип: ціле число
smaxage

Встановити s-maxage HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.

Тип: ціле число
За замовчуванням: 0
maxage

Встановити max-age HTTP кеш-контроль заголовок на стільки секунд. Помилки ніколи не кешуються.

Тип: ціле число
За замовчуванням: 0
assert

Перевірити, що користувач увійшов у систему, якщо задано user, або має права бота, якщо задано bot.

Одне значення: user, bot
requestid

Будь-яке значення, вказане тут, буде включене у відповідь. Може використовуватися, щоб відрізняти запити.

servedby

Включити в результати ім'я хоста, який обробив запит.

Тип: логічний (деталі)
curtimestamp

Включити в результат поточну мітку часу.

Тип: логічний (деталі)
origin

При доступі до API з використанням крос-доменного AJAX-запиту (CORS), задайте параметру значення вихідного домена. Він має бути включений у будь-який попередній запит і таким чином мусить бути частиною запиту URI (не тіла POST). Він повинен точно співпадати з одним з виходів у заголовку Origin, тобто бути заданим чимось на зразок https://uk.wikipedia.org або https://meta.wikimedia.org. Якщо цей параметр не співпадає з заголовком Origin, повернеться помилка 403. Якщо цей параметр співпадає з заголовком Origin і вихід знаходиться у білому списку, буде встановлено заголовок Access-Control-Allow-Origin.

uselang

Мова, що використовується для перекладу повідомлень. Список кодів можна знайти на action=query&meta=siteinfo з siprop=languages або вказати user на використання поточного налаштування мови користувача, або вказати content на використання мови вмісту цієї вікі.

За замовчуванням: user
Приклади:
Довідка для головного модуля.
api.php?action=help
Уся довідка на одній сторінці.
api.php?action=help&recursivesubmodules=1
Дозволи:
writeapi
використання API для запису
Надано: bot
apihighlimits
Використовувати вищі ліміти у запитах API (повільні запити: 500; швидкі запити: 5000). Ліміти для повільних запитів також застосовуються до багатозначних параметрів.
Надані: bot, sysop

Типи даних

Деякі типи параметрів у запитах API потребують ширшого пояснення:

boolean
Логічні параметри працюють як галочки HTML: якщо параметр вказано, не залежно від значення, він вважається істинним. Щоб значення було хибним, пропустіть параметр зовсім.
timestamp
Часові мітки можуть бути вказані у кількох форматах. Рекомендується час і дата в ISO 8601. Усі значення часу в UTC, будь-які часові пояси ігноруються.
  • Дата і час ISO 8601, 2001-01-15T14:56:00Z (пунктуація і Z необов'язокві)
  • Дата і час ISO 8601 з (ігнорованими) частками секунди, 2001-01-15T14:56:00.00001Z (дефіси, двокрапки та Z необов'язкові)
  • Формат MediaWiki, 20010115145600
  • Загальний числовий формат, 2001-01-15 14:56:00 (необов'язковий часовий пояс GMT, +## або -## ігнорується)
  • Формат EXIF, 2001:01:15 14:56:00
  • Формат RFC 2822 (часовий пояс може бути опущений), Mon, 15 Jan 2001 14:56:00
  • Формат RFC 850 (часовий пояс може бути опущений), Monday, 15-Jan-2001 14:56:00
  • Формат C ctime, Mon Jan 15 14:56:00 2001
  • Секунди від 1970-01-01T00:00:00Z у вигляді цілого числа від 1 до 13 цифр (без 0)
  • Рядок now

Автор(и)

Розробники API:

  • Roan Kattouw (головний розробник вер. 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Yuri Astrakhan (творець, головний розробник вер. 2006 – вер. 2007)
  • Brad Jorsch (головний розробник 2013 – тепер)

Будь ласка, надсилайте свої коментарі, пропозиції та запитання на mediawiki-api@lists.wikimedia.org або зафайліть звіт про баґ на https://phabricator.wikimedia.org/.