Справка MediaWiki API

Это автоматически сгенерированная страница документации MediaWiki API.

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

Главный модуль

Статус: MediaWiki API — зрелый и стабильный интерфейс, активно поддерживаемый и улучшаемый. Мы стараемся избегать ломающих изменений, однако изредка они могут быть необходимы. Подпишитесь на почтовую рассылку mediawiki-api-announce, чтобы быть в курсе обновлений.

Ошибочные запросы: Если API получает запрос с ошибкой, вернётся заголовок HTTP с ключом «MediaWiki-API-Error», после чего значение заголовка и код ошибки будут отправлены обратно и установлены в то же значение. Более подробную информацию см. API: Ошибки и предупреждения.

Параметры:
action

Действие, которое следует выполнить.

block
Блокировка участника.
categorytree
Внутренний модуль для расширения CategoryTree.
changeauthenticationdata
Смена параметров аутентификации для текущего участника.
checktoken
Проверить корректность токена из action=query&meta=token.
clearhasmsg
Очистить флаг hasmsg для текущего участника.
clientlogin
Вход в вики с помощью интерактивного потока.
compare
Получение разницы между двумя страницами.
createaccount
Создание новой учётной записи.
cspreport
Используется браузерами, чтобы сообщать о нарушениях политики безопасности (CSP). Этот модуль никогда не должен использоваться, за исключением случаев автоматического использования совместимыми с CSP браузерами.
delete
Удаление страницы.
edit
Создание и редактирование страниц.
emailuser
Написание электронных писем участнику.
expandtemplates
Разворачивание всех шаблонов в вики-текст.
feedcontributions
Возвращает ленту с вкладом участников.
feedrecentchanges
Возвращает ленту последних изменений.
feedwatchlist
Возвращает ленту списка наблюдения.
filerevert
Возвращение файла к старой версии.
help
Отображение справки указанных модулей.
imagerotate
Поворот одного или нескольких изображений.
import
Импорт страницы из другой вики или XML-файла.
linkaccount
Связать аккаунт третьей стороны с текущим участником.
login
Вход и получение аутентификационных cookie.
logout
Выйти и очистить данные сессии.
managetags
Осуществление задач, связанных с изменением меток.
mergehistory
Объединение историй правок.
move
Переименование страницы.
opensearch
Поиск по вики с использованием протокола OpenSearch.
options
Смена настроек текущего участника.
paraminfo
Получение информации о модулях API.
parse
Парсит содержимое и возвращает результат парсинга.
patrol
Патрулирование страницы или версии.
protect
Изменение уровня защиты страницы.
purge
Очистка кэша заданных страниц.
query
Запросить данные с и о MediaWiki.
removeauthenticationdata
Удаление аутентификационных данных для текущего участника.
resetpassword
Отправить участнику письмо для сброса пароля.
revisiondelete
Удаление и восстановление версий страниц.
rollback
Отмена последней правки на странице.
rsd
Экспорт схемы RSD (Really Simple Discovery).
scribunto-console
Internal module for servicing XHR requests from the Scribunto console.
setnotificationtimestamp
Обновление временной метки уведомления для отслеживаемых страниц.
setpagelanguage
Изменить язык страницы.
spamblacklist
Проверить один или несколько URL-адресов с помощью SpamBlacklist.
stashedit
Подготовка правки в общем кэше.
tag
Добавление или удаление меток отдельных правок или записей журналов.
titleblacklist
Подтвердите заголовок страницы, имя файла или имя пользователя в списке TitleBlacklist.
unblock
Разблокировка участника.
undelete
Восстановление версий удалённой страницы.
unlinkaccount
Удаление связанного стороннего аккаунта с текущим участником.
upload
Загрузка файла или получение статуса незавершённых загрузок.
userrights
Изменение групп участника.
validatepassword
Проверка пароля на удовлетворение политики вики.
visualeditor
Возвращает HTML5 для страницы с сервиса Parsoid.
visualeditoredit
Сохранить HTML5-страницу в MediaWiki (сконвертированную в викитекст с помощью Parsoid).
watch
Добавление или удаление страниц из списка наблюдения текущего участника.
tokens
Устарело. Получение токенов для действий, связанных с редактированием данных.
Одно из следующих значений: block, categorytree, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, scribunto-console, setnotificationtimestamp, setpagelanguage, spamblacklist, stashedit, tag, titleblacklist, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, visualeditor, visualeditoredit, watch, tokens
По умолчанию: help
format

Формат вывода.

json
Выводить данные в формате JSON.
jsonfm
Выводить данные в формате JSON (отформатированном в HTML).
none
Ничего не выводить.
php
Выводить данные в сериализованном формате PHP.
phpfm
Выводить данные в сериализованном формате PHP (отформатированном в HTML).
rawfm
Выводить данные, включая элементы отладки, в формате JSON (отформатированном в HTML).
xml
Выводить данные в формате XML.
xmlfm
Выводить данные в формате XML (отформатированном в HTML).
Одно из следующих значений: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
По умолчанию: jsonfm
maxlag

Значение максимального отставания может использоваться, когда MediaWiki установлена на кластер из реплицируемых баз данных. Чтобы избежать ухудшения ситуации с отставанием репликации сайта, этот параметр может заставить клиента ждать, когда задержка репликации станет ниже указанного значения. В случае чрезмерной задержки возвращается код ошибки «maxlag» с сообщением «Waiting for $host: $lag seconds lagged».
См. подробнее на странице с описанием Manual: параметра Maxlag.

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

Установить значение HTTP-заголовка Cache-Control s-maxage в заданное число секунд. Ошибки никогда не кэшируются.

Тип: целое число
По умолчанию: 0
maxage

Установить значение HTTP-заголовка Cache-Control max-age в заданное число секунд. Ошибки никогда не кэшируются.

Тип: целое число
По умолчанию: 0
assert

Проверить, что участник авторизован, если задано user, или что он имеет права бота, если задано bot.

Одно из следующих значений: user, bot
assertuser

Проверить, что ник текущего участника совпадает с заданным.

Тип: имя участника
requestid

Любое заданное здесь значение будет включено в ответ. Может быть использовано для различения запросов.

servedby

Включить в результаты имя хоста, обработавшего запрос.

Тип: логический (подробнее)
curtimestamp

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

Тип: логический (подробнее)
responselanginfo

Включить языки, использованные для uselang и errorlang, в результат.

Тип: логический (подробнее)
origin

При обращении к API с использованием кросс-доменного AJAX-запроса (CORS), задайте параметру значение исходного домена. Этот параметр должен быть включён в любой предварительный запрос и таким образом должен быть частью URI-запроса (не тела POST).

Для аутентифицированных запросов он должен точно соответствовать одному из источников в заголовке Origin, так что он должен быть задан наподобие https://ru.wikipedia.org или https://meta.wikimedia.org. Если параметр не соответствует заголовку Origin, будет возвращён ответ с кодом ошибки 403. Если параметр соответствует заголовку Origin, и источник находится в белом списке, будут установлены заголовки Access-Control-Allow-Origin и Access-Control-Allow-Credentials.

Для неаутентифицированных запросов укажите значение *. В результате заголовок Access-Control-Allow-Origin будет установлен, но Access-Control-Allow-Credentials примет значение false и все пользовательские данные будут ограничены.

uselang

Язык, используемый для перевода сообщений. Запрос action=query&meta=siteinfo с siprop=languages возвращает список кодов языков; укажите user, чтобы использовать текущие языковые настройки участника, или content для использования основного языка этой вики.

По умолчанию: user
errorformat

Формат, используемый для вывода текста предупреждений и ошибок.

plaintext
Вики-текст с удалёнными HTML-тегами и замещёнными мнемониками.
wikitext
Нераспарсенный вики-текст.
html
HTML.
raw
Ключ сообщения и параметры.
none
Без текстового вывода, только коды ошибок.
bc
Формат, используемый до MediaWiki 1.29. errorlang и errorsuselocal игнорируются.
Одно из следующих значений: plaintext, wikitext, html, raw, none, bc
По умолчанию: bc
errorlang

Язык, используемый для вывода предупреждений и сообщений об ошибках. Запрос action=query&meta=siteinfo с siprop=languages возвращает список кодов языков; укажите content для использования основного языка этой вики, или uselang для использования того же значения, что и в параметре uselang.

По умолчанию: uselang
errorsuselocal

Если задан, тексты ошибок будут использовать локально модифицированные сообщения из пространства имён MediaWiki.

Тип: логический (подробнее)
Примеры:
Помощь по главному модулю.
api.php?action=help [открыть в песочнице]
Вся справка на одной странице.
api.php?action=help&recursivesubmodules=1 [открыть в песочнице]
Разрешения:
writeapi
Использование API для записи
Гарантируется: all, user и bot
apihighlimits
Использовать высокие лимиты в запросах API (медленные запросы: 500, быстрые запросы: 5000). Лимиты для медленных запросов также применимы к параметрам со множеством значений.
Гарантируется: bot и sysop

Типы данных

Ввод в MediaWiki должен быть NFC-нормализованным UTF-8. MediaWiki может попытаться преобразовать другой ввод, но это приведёт к провалу некоторых операций (таких, как редактирование со сверкой MD5).

Некоторые типы параметров в запросах API требуют дополнительных пояснений:

логический
Логические параметры работают как флажки (checkboxes) в HTML: если параметр задан, независимо от его значения, он воспринимается за истину. Для передачи ложного значения просто опустите параметр.
временные метки
Временные метки могут быть заданы в нескольких форматах (детальнее см. Timestamp library input formats on mediawiki.org). Рекомендуемым является дата и время ISO 8601.

2001-01-15T14:56:00Z. Дополнительно, строка now может использоваться, чтобы указать текущую временную метку.

альтернативный разделитель значений
Параметры, принимающие несколько значений, обычно отправляются со значениями, разделёнными с помощью символа пайпа, например, param=value1|value2 или param=value1%7Cvalue2. Если значение должно содержать символ пайпа, используйте U+001F (Unit Separator) в качестве разделителя и добавьте в начало значения U+001F, например, param=%1Fvalue1%1Fvalue2.

Шаблонные параметры

Шаблонные параметры используются в случаях, когда модулю API нужно получить по параметру со значением на каждое значение другого параметра. Например, если бы был модуль API, запрашивающий фрукты, у него мог бы быть параметр фрукты, указывающий, какие фрукты запрашиваются, и шаблонный параметр {фрукт}-в-количестве, указывающий, сколько фруктов каждого вида запросить. Клиент API, который хочет запросить 1 яблоко, 5 бананов и 20 апельсинов, мог бы тогда сделать запрос наподобие фрукты=яблоки|бананы|апельсины&яблоки-в-количестве=1&бананы-в-количестве=5&апельсины-в-количестве=20.

Создатели

Разработчики API:

  • Yuri Astrakhan (создатель, ведущий разработчик с сентября 2006 по сентябрь 2007)
  • Roan Kattouw (ведущий разработчик 2007—2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch (ведущий разработчик с 2013)

Пожалуйста, присылайте ваши комментарии, предложения и вопросы на адрес mediawiki-api@lists.wikimedia.org или присылайте отчёты об ошибках на https://phabricator.wikimedia.org/.