Возможности (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}
Классы контроллеров:
- WP_REST_Abilities_V1_List_Controller{}
- WP_REST_Abilities_V1_Categories_Controller{}
- WP_REST_Abilities_V1_Run_Controller{}
Схема ресурса
Схема показывает поля, которые возвращает ресурс. Набор полей зависит от контекста и прав пользователя.
| Параметр | Контекст | Описание |
|---|---|---|
| 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}