API:Data formats/ru

Ввод
API принимает ввод через параметры, предоставленные строкой запроса, или через данные POST в форматах application/x-www-form-urlencoded или multipart/form-data. Каждый модуль (и каждый подмодуль action=query) обладает собственным набором параметров, который указан в документации и в action=help, и получить его можно через action=paraminfo.

Параметры с списком значений
Некоторые параметры могут принимать несколько значений, разделённых вертикальной чертой. Принимает ли параметр список значений, указано явно в  и. Документация не выделяет явно параметры, принимающие списки значений, но описания этих параметров обычно содержат фразы наподобие «Список ...» или «Разделённый вертикальными чертами список ...».

Булевы значения
Булевы параметры работают, как флажки HTML: если параметр указан в HTTP-запросе, он вне зависимости от значения считается истинным. Для указания ложного значения параметр следует полностью опустить. Лучший способ указать истинный параметр в HTTP-запросе — это использование ; завершающий знак   не допускает отбрасывания «пустого» параметра браузером или HTTP-библиотекой.

Временные отметки
Параметры, принимающие временные отметки, способны принять несколько форматов временных отметок:


 * формат ISO 8601:
 * Внутренний формат временных отметок MySQL:
 * Формат временных отметок Unix  (время, прошедшее с 1 января 1970 года, в секундах)
 * Формат временных отметок Unix  (время, прошедшее с 1 января 1970 года, в секундах)

В выводе временные отметки всегда в формате ISO 8601.

Выход
API движка MediaWiki исторически поддерживал большое количество различных форматов, но это привело к значительному усложнению дальнейшей разработки. Мы бы хотели оставить в качестве стандарта только один формат JSON. На данный момент MediaWiki не рекомендует к использованию, но всё ещё поддерживает два дополнительных обобщённых формата вывода (XML и PHP). Всегда следует указывать формат с параметром запроса  и значением в нижнем регистре. Модули лент, наподобие ленты свежих правок, переопределяют стандартный формат вывода, вместо этого используя RSS или Atom, как указано в их параметре. В этих случаях формат, указанный в параметре  используется только при возникновении ошибки. Все форматы, кроме JSON, отмечены как устаревшие. XML и PHP всё ещё поддерживаются, но все остальные удалены в MediaWiki 1.26 или 1.27; см. таблицу ниже. Всем новым пользователи API следует использовать JSON. Клиентам, написанным на PHP, следует избегать использования формата PHP, поскольку он фундаментально небезопасен. Он поддерживается на данный момент только ввиду его популярности.

Если не указано иное, все модули поддерживают вывод данных во всех обобщённых форматах. Для облегчения отладки все обобщённые форматы имеют форматирующие в HTML альтернативы с окончанием.

Использовавшийся по умолчанию в более ранних версиях MediaWiki формат  в MediaWiki 1.25 был заменён на.

Note that while the pretty-print formats are all indented and separate syntactic elements with newlines, the non-pretty formats don't do this.

There are many conversion libraries and online converters to convert JSON responses to other formats—for example, JSON-CSV converts to Comma-Separated Values

JSON parameters
and  accept the following additional parameters:

Specify  for to get json (and php) format responses in a  cleaner format. This also encodes most non-ASCII characters as UTF-8.

Callback restrictions
When using JSON in callback mode, a number of things are disabled for security:
 * Tokens cannot be obtained (so state-changing actions aren't possible)
 * The client is treated as an anonymous user (i.e. not logged in) for all purposes, even after logging in through action=login
 * This means that things that require additional rights, such as, won't work unless anonymous users are allowed to use them

Examples
it may be useful to add the '&indexpageids' parameter, to parse the json if the pageid ("736") is not known before the result.