Возможности (Abilities API)

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

Возможные маршруты (конечные точки описаны ниже):

/wp-abilities/v1/abilities
/wp-abilities/v1/abilities/{name}
/wp-abilities/v1/abilities/{name}/run
/wp-abilities/v1/categories
/wp-abilities/v1/categories/{slug}

Классы контроллеров:

Схема ресурса

Схема показывает поля, которые возвращает ресурс. Набор полей зависит от контекста и прав пользователя.

Параметр Контекст Описание
name view, edit Поле ресурса.
label view, edit Поле ресурса.
description view, edit Поле ресурса.
category view, edit Поле ресурса.
input_schema view, edit Поле ресурса.
output_schema view, edit Поле ресурса.
annotations view, edit Поле ресурса.

/wp-abilities/v1/abilities

Запрос OPTIONS возвращает методы, параметры и полную схему выбранного маршрута.

$ curl -X OPTIONS -i https://example.com/wp-json/wp-abilities/v1/abilities

Получение списка возможностей

Возвращает зарегистрированные возможности, у которых включён REST API. Результат можно отфильтровать по категории, пространству имён и аннотациям.

Вид запроса

GET /wp-abilities/v1/abilities

Параметры запроса

$context(string)
Контекст ответа: view, embed или edit.
$page(integer)
Номер страницы коллекции.
$per_page(integer)
Число элементов на странице.
$category(string)
Идентификатор категории возможностей.
$namespace(string)
Пространство имён возможностей.
$meta[annotations][readonly](boolean)
Отбирает возможности, которые не изменяют данные.
$meta[annotations][destructive](boolean)
Отбирает возможности, которые могут выполнять разрушающие изменения.
$meta[annotations][idempotent](boolean)
Отбирает возможности, повторный запуск которых с теми же данными не даёт дополнительного эффекта.

Пример запроса

$ curl https://example.com/wp-json/wp-abilities/v1/abilities

/wp-abilities/v1/abilities/{name}

Получение одной возможности

Возвращает описание указанной возможности: её название, входную и выходную схемы, категорию и аннотации.

Вид запроса

GET /wp-abilities/v1/abilities/{name}

Параметры запроса

$name(string) (обязательный)
Уникальное имя возможности.
$context(string)
Контекст ответа: view, embed или edit.

Пример запроса

$ curl https://example.com/wp-json/wp-abilities/v1/abilities/{name}

/wp-abilities/v1/abilities/{name}/run

Выполнение возможности

Запускает указанную возможность. Метод зависит от её аннотаций: GET для доступной только для чтения, DELETE для идемпотентной разрушающей операции и POST во всех остальных случаях. Состав input задаёт входная схема самой возможности.

Вид запроса

GET|POST|DELETE /wp-abilities/v1/abilities/{name}/run

Параметры запроса

$name(string) (обязательный)
Уникальное имя возможности.
$input(object|array|string|number|boolean|null)
Входные данные возможности. Для POST передаются в JSON-теле запроса, для GET и DELETE — параметром строки запроса.

Замените {name} в примере на имя зарегистрированной возможности, а содержимое input — на данные, соответствующие её input_schema.

Пример запроса

$ curl -X POST https://example.com/wp-json/wp-abilities/v1/abilities/{name}/run \
  -H 'Content-Type: application/json' \
  -d '{"input":{"include":"version"}}'

/wp-abilities/v1/categories

Получение категорий возможностей

Возвращает список зарегистрированных категорий возможностей.

Вид запроса

GET /wp-abilities/v1/categories

Параметры запроса

$context(string)
Контекст ответа: view, embed или edit.
$page(integer)
Номер страницы коллекции.
$per_page(integer)
Число элементов на странице.

Пример запроса

$ curl https://example.com/wp-json/wp-abilities/v1/categories

/wp-abilities/v1/categories/{slug}

Получение одной категории возможностей

Возвращает название, описание и метаданные категории по её идентификатору.

Вид запроса

GET /wp-abilities/v1/categories/{slug}

Параметры запроса

$slug(string) (обязательный)
Уникальный идентификатор категории.
$context(string)
Контекст ответа: view, embed или edit.

Пример запроса

$ curl https://example.com/wp-json/wp-abilities/v1/categories/{slug}