Довідка API MediaWiki

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

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

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

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

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

Параметри:
action

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

abusefiltercheckmatch
Перевірити, щоб побачити, чи Фільтр редагувань відповідає набору змінних, редагуванню чи журнальованій дії Фільтра редагувань.
abusefilterchecksyntax
Перевірити синтаксис фільтра зловживань.
abusefilterevalexpression
Оцінює вираз фільтра зловживань.
abusefilterunblockautopromote
Розблоковує користувача від отримування автоматичних просувань через послідовність фільтрів.
antispoof
Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.
block
Заблокувати користувача.
bouncehandler
Отримувати електронний лист-відмову і обробляти його для обробки невдалого одержувача.
categorytree
Внутрішній модуль для розширення CategoryTree.
centralauthtoken
Отримати centralauthtoken для виконання автентифікованого запиту до прикріпленої вікі.
centralnoticecdncacheupdatebanner
Запитати очистку вмісту банеру збереженого в CDN-кеші (на фронт-енді) для анонімних користувачів для обраних банеру та мови.
centralnoticechoicedata
Отримати дані, необхідні для вибору банера для даного проекту та мови
centralnoticequerycampaign
Отримати всі параметри конфігурації для кампанії.
changeauthenticationdata
Зміна параметрів аутентифікації для поточного користувача.
checktoken
Перевірити коректність токена з action=query&meta=tokens.
cirrus-config-dump
Дамп конфігурації CirrusSearch.
cirrus-mapping-dump
Дамп відображення CirrusSearch для цієї Вікі.
cirrus-profiles-dump
Дамп профілів CirrusSearch для цієї вікі.
cirrus-settings-dump
Дамп налаштувань CirrusSearch для цієї Вікі.
clearhasmsg
Очищає прапорець hasmsg для поточного користувача.
clientlogin
Увійдіть у вікі з допомогою інтерактивного потоку.
compare
Отримати порівняння двох сторінок.
createaccount
Створити новий обліковий запис користувача.
cspreport
Використовується браузерами для повідомлення порушень Правил безпеки контенту (Content Security Policy). Цей модуль не повинен використовуватися, окрім випадків автоматичного використання веб-браузером для CSP-скарги.
cxconfiguration
Отримати json-налаштування перекладу вмісту для даної пари мов.
cxdelete
Вилучити чернетку перекладу, створену за допомогою розширення ContentTranslation.
cxpublish
Зберегти сторінку, створену за допомогою розширення ContentTranslation.
cxsave
Цей модуль дає змогу зберігати чернетки перекладів за розділом, щоб зберігати ширину смуги і накопичувати паралельні переклади.
cxsuggestionlist
Керувати списками пропозицій. Додавати пропозиції до списку й вилучати їх.
cxtoken
Отримати токени JWT для автентифікації з cxserver.
delete
Вилучити сторінку.
deleteglobalaccount
Вилучити глобального користувача.
echomarkread
Позначити сповіщення як прочитані для поточного користувача.
echomarkseen
Позначити сповіщення як переглянуті для поточного користувача.
edit
Створювати і редагувати сторінки.
editmassmessagelist
Редагувати список доставки масових повідомлень.
emailuser
Надіслати електронного листа користувачеві
expandtemplates
Розгортає усі шаблони в межах вікірозмітки.
fancycaptchareload
Отримати нову FancyCaptcha.
featuredfeed
Видає стрічку обраного контенту.
feedcontributions
Повертає стрічку внеску користувача.
feedrecentchanges
Видає стрічку нових редагувань.
feedwatchlist
Видає стрічку списку спостереження.
filerevert
Повернути файл до старої версії.
flagconfig
Отримати базову інформацію про налаштування патрулювання на цьому сайті.
globalblock
Глобально заблокувати чи розблокувати користувача.
globalpreferenceoverrides
Змінити локальні заміни глобальних налаштувань для поточного користувача.
globalpreferences
Змінити глобальні налаштування поточного користувача.
globaluserrights
Додати/вилучити користувача до/з глобальних груп.
graph
Отримати доступ до функціоналу тегів graph.
help
Відображати довідку для зазначених модулів.
imagerotate
Цей модуль було вимкнено.
import
Імпортувати сторінку з іншої вікі або з XML-файлу.
jsonconfig
Забезпечує прямий доступ до підсистеми JsonConfig.
jsondata
Отримати локалізовані дані JSON.
languagesearch
Пошук назв мов у будь-якому написанні.
linkaccount
Пов'язати обліковий запис третьої сторони з поточним користувачем.
login
Увійти в систему й отримати куки автентифікації.
logout
Вийти й очистити дані сесії.
managetags
Виконати керівні завдання щодо зміни теґів.
massmessage
Надіслати повідомлення на список сторінок.
mergehistory
Об'єднання історій редагувань.
mobileview
Виводить дані, необхідні для мобільних переглядів.
move
Перейменувати сторінку.
oathvalidate
Перевірити токен двофакторної автентифікації (OATH).
opensearch
Шукати у вікі з використанням протоколу OpenSearch.
options
Змінити налаштування поточного користувача.
paraminfo
Отримати інформацію про модулі API.
parse
Аналізує вміст і видає парсер виходу.
parsoid-batch
Пакетний API для Parsoid
patrol
Відпатрулювати сторінку чи версію.
protect
Змінити рівень захисту сторінки.
purge
Очистити кеш для вказаних заголовків.
query
Вибірка даних з і про MediaWiki.
readinglists
Дії із записування у списках читання.
record-lint
Записати Lint-помилку в базу даних
removeauthenticationdata
Вилучити параметри автентифікації для поточного користувача.
resetpassword
Відправити користувачу лист для відновлення пароля.
review
Перевірити версію, затвердивши її або знявши затвердження.
reviewactivity
Оголосити себе рецензентом неперевіреної сторінки чи неперевірених змін, або зняти це оголошення.
revisiondelete
Вилучити або відновити версії.
rollback
Скасувати останнє редагування цієї сторінки.
rsd
Експортувати як схему RSD (Really Simple Discovery).
sanitize-mapdata
Виконує перевірку даних для розширення Kartographer
scribunto-console
Внутрішній модуль обробки XHR-запитів з консолі Scribunto.
setglobalaccountstatus
Встановити статус глобального користувача.
setnotificationtimestamp
Оновити часову мітку сповіщень для сторінок, що спостерігаються.
setpagelanguage
Змінити мову сторінки.
shortenurl
Перетворити довгу URL-адресу в коротку
sitematrix
Отримати список сайтів Вікімедіа.
spamblacklist
Перевірити одну або кілька URL-адрес на наявність у SpamBlacklist.
stabilize
Змінити параметри стабільності сторінки.
stashedit
Підготувати редагування в загальний кеш.
strikevote
Дозволяє адміністраторам викреслити або відновити голоси.
tag
Додати або вилучити зміни міток з окремих версій або записів журналу.
templatedata
Отримати дані, що зберігаються розширенням TemplateData.
thank
Надіслати редактору сповіщення про подяку.
titleblacklist
Перевірити назву сторінки, файлу або ім'я користувача на наявність у чорному списку назв.
transcodereset
Користувачі з правом «transcode-reset» можуть скинути і повторити задачу перекодування.
ulslocalization
Отримати локалізацію ULS вказаною мовою.
unblock
Розблокувати користувача.
undelete
Відновити версії вилученої сторінки.
unlinkaccount
Вилучити пов'язаний обліковий запис третьої сторони з поточного користувача.
upload
Завантажити файл, або отримати статус завантажень у процесі.
userrights
Змінити членство користувача у групах.
validatepassword
Перевірити пароль на предмет відповідності політикам вікі щодо паролів.
visualeditor
Повертає HTML5 для сторінки від сервісу Parsoid.
visualeditoredit
Зберегти HTML5-сторінку у MediaWiki (конвертовану у вікітекст сервісом Parsoid).
watch
Додати або вилучити сторінки з списку спостереження поточного користувача.
webapp-manifest
Виводить маніфест webapp.
wikilove
Висловіть вікісимпатію іншому користувачеві.
zeroconfig
Отримати конфігурацію розширення Zero.
tokens
Застарілий. Отримати жетони для дій пов'язаних зі зміною даних.
Одне з наступних значень: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, antispoof, block, bouncehandler, categorytree, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, checktoken, cirrus-config-dump, cirrus-mapping-dump, cirrus-profiles-dump, cirrus-settings-dump, clearhasmsg, clientlogin, compare, createaccount, cspreport, cxconfiguration, cxdelete, cxpublish, cxsave, cxsuggestionlist, cxtoken, delete, deleteglobalaccount, echomarkread, echomarkseen, edit, editmassmessagelist, emailuser, expandtemplates, fancycaptchareload, featuredfeed, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, flagconfig, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, graph, help, imagerotate, import, jsonconfig, jsondata, languagesearch, linkaccount, login, logout, managetags, massmessage, mergehistory, mobileview, move, oathvalidate, opensearch, options, paraminfo, parse, parsoid-batch, patrol, protect, purge, query, readinglists, record-lint, removeauthenticationdata, resetpassword, review, reviewactivity, revisiondelete, rollback, rsd, sanitize-mapdata, scribunto-console, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, sitematrix, spamblacklist, stabilize, stashedit, strikevote, tag, templatedata, thank, titleblacklist, transcodereset, ulslocalization, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, visualeditor, visualeditoredit, watch, webapp-manifest, wikilove, zeroconfig, 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 з повідомленням на зразок Очікування на $host: $lag секунд(и) затримки.
Див. Manual: Maxlag parameter для детальнішої інформації.

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

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

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

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

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

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

Одне з наступних значень: user, bot
assertuser

Перевірити, чи поточний користувач є найменованим користувачем.

Тип: ім'я користувача
requestid

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

servedby

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

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

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

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

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

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

При доступі до API з використанням крос-доменного AJAX-запиту (CORS), задайте параметру значення вихідного домена. Він має бути включений у будь-який попередній запит і таким чином мусить бути частиною запиту URI (не тіла POST).

Для автентифікованих запитів він повинен точно співпадати з одним з виходів у заголовку Origin, тобто бути заданим чимось на зразок https://uk.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-тегами і заміненими 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.

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

При доступі до API з використанням міждоменного AJAX-запиту (CORS), використовуйте це для авторизації як поточного SUL-користувача. Використовуйте action=centralauthtoken у цій вікі, аби вивести токен, перш ніж здійснювати запит CORS. Кожен токен можна використати лише раз, через 10 секунд він стає недійсним. Це має бути включено в будь-який попередній запит, і, зважаючи на це, — у запитуваний URI (не в POST-тіло).

Приклади:
Довідка для головного модуля.
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 потребують ширшого пояснення:

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
альтернативний роздільник багатьох значень
Параметри, що приймають багато значень, зазвичай подаються зі значеннями, розділеними вертикальною рискою, наприклад, param=value1|value2 або param=value1%7Cvalue2. Якщо значення повинне містити вертикальну риску, використовуйте як роздільник U+001F (роздільник одиниць) та поставте U+001F перед значенням, наприклад, param=%1Fvalue1%1Fvalue2.

Шаблонні параметри

Шаблонні параметри підтримують випадки, в яких модулю API необхідне значення для кожного значення якогось іншого параметра. Наприклад, якби був модуль API для запитів фруктів, у нього був би параметр fruits для зазначення, запит на які саме фрукти надсилається і шаблонний параметр {fruit}-quantity для зазначення, скільки саме кожного різновиду фруктів потрібно. Клієнт API, якому потрібні 1 яблуко, 5 бананів і 20 полуниць, таким чином, міг би надіслати запит у формі fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.

Автор(и)

Розробники 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/.