Ці маршрути дозволяють отримати/створити/оновити/видалити всілякі дані користувачів у WP.
А також з версії WP 5.6, з’явилися маршрути, які дозволяють отримати/створити/оновити/видалити паролі додатків конкретного користувача.
Можливі маршрути (кінцеві точки маршрутів описані нижче):
/wp/v2/users // працює з усіма користувачами
/wp/v2/users/{ID} // працює із зазначеним користувачем
/wp/v2/users/me // працює з поточним користувачем
/wp/v2/users/{ID}/application-passwords // працює із зазначеним користувачем
/wp/v2/users/me/application-passwords // працює з поточним користувачем
/wp/v2/users/{ID}/application-passwords/uuid
/wp/v2/users/me/application-passwords/uuid
СхемаСхема показує всі поля, які є об’єкта: поля об’єкта які поверне запит.
Ресурс UsersПараметр Контекст Опис id
Число readonly embed, view, edit Унікальний ідентифікатор користувача. username
Рядок required edit Ім’я входу користувача. name
Рядок embed, view, edit Ім’я користувача, що відображається. first_name
Рядок edit Ім’я користувача. last_name
Рядок edit Прізвище користувача. email
Рядок required edit Адреса електронної пошти користувача. url
Рядок embed, view, edit URL користувача. description
Рядок embed, view, edit Опис користувача. link
Рядок readonly embed, view, edit URL автора для користувача. locale
Рядок edit Локаль для користувача. nickname
Рядок edit Нік користувача. slug
Рядок embed, view, edit Літерно-цифровий ідентифікатор користувача. registered_date
Рядок readonly edit Дата реєстрації користувача. roles
Масив edit Ролі призначені користувачеві. password
Рядок required Пароль користувача (ніколи не відображається). capabilities
Об’єкт readonly edit Усі можливості призначені користувачеві. extra_capabilities
Об’єкт readonly edit Будь-які додаткові можливості призначені користувачеві. avatar_urls
Об’єкт readonly embed, view, edit URL аватара користувача. meta
Об’єкт view, edit Мета поля.
Ресурс Application PasswordsПараметр Контекст Опис uuid
Рядок readonly view, edit, embed Унікальний ідентифікатор для пароля програми. app_id
Рядок view, edit, embed UUID надається програмою для унікальної ідентифікації. Рекомендується використовувати UUID v5 з простором імен URL або DNS. name
Рядок required view, edit, embed Назва пароля програми. password
Рядок readonly edit Створений пароль. Доступний після додавання програми. created
Рядок readonly view, edit Дата та час (GMT) створення пароля програми. last_used
Рядок/null readonly view, edit Дата та час (GMT) останнього використання пароля програми. last_ip
Рядок/null readonly view, edit IP-адреса, з якої востаннє використовувався пароль програми.
wp/v2/usersЗапит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/users GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
"type": "string",
"enum": [
"view",
"embed",
"edit"
],
"default": "view",
"required": false
},
"page": {
"description": "Поточна сторінка колекції.",
"type": "integer",
"default": 1,
"minimum": 1,
"required": false
},
"per_page": {
"description": "Максимальна кількість об'єктів, що повертається у вибірці.",
"type": "integer",
"default": 10,
"minimum": 1,
"maximum": 100,
"required": false
},
"search": {
"description": "Обмежити результати до відповідних рядків.",
"type": "string",
"required": false
},
"exclude": {
"description": "Переконатися, що вибірка виключає певні ID.",
"type": "array",
"items": {
"type": "integer"
},
"default": [],
"required": false
},
"include": {
"description": "Обмежити вибірку до певних ID.",
"type": "array",
"items": {
"type": "integer"
},
"default": [],
"required": false
},
"offset": {
"description": "Зсув вибірки на певну кількість об'єктів.",
"type": "integer",
"required": false
},
"Order": {
"default": "asc",
"description": "Упорядкувати сортування атрибуту за зростанням або зменшенням.",
"enum": [
"asc",
"desc"
],
"type": "string",
"required": false
},
"orderby": {
"default": "name",
"description": "Сортувати колекцію за атрибутом об'єкта.",
"enum": [
"id",
"include",
"name",
"registered_date",
"slug",
"include_slugs",
"email",
"url"
],
"type": "string",
"required": false
},
"slug": {
"description": "Обмежити вибірку користувачами з одним або більше спеціальними ярликами.",
"type": "array",
"items": {
"type": "string"
},
"required": false
},
"Roles": {
"description": "Обмежити вибірку до користувачів, які задовольняють щонайменше одну вказану роль. Можна вказати CSV список або одну роль.",
"type": "array",
"items": {
"type": "string"
},
"required": false
},
"who": {
"description": "Обмежити вибірку користувачами-авторами.",
"type": "string",
"enum": [
"authors"
],
"required": false
}
}
},
{
"methods": [
"POST"
],
"args": {
"username": {
"description": "Ім'я входу для користувача.",
"type": "string",
"required": true
},
"name": {
"description": "Ім'я користувача, що відображається.",
"type": "string",
"required": false
},
"first_name": {
"description": "Ім'я користувача.",
"type": "string",
"required": false
},
"last_name": {
"description": "Прізвище користувача.",
"type": "string",
"required": false
},
"email": {
"description": "Адреса email користувача.",
"type": "string",
"format": "email",
"required": true
},
"url": {
"description": "URL користувача.",
"type": "string",
"format": "uri",
"required": false
},
"description": {
"description": "Опис користувача.",
"type": "string",
"required": false
},
"locale": {
"description": "Локаль для користувача.",
"type": "string",
"enum": [
"",
"en_US",
"ru_RU"
],
"required": false
},
"nickname": {
"description": "Нік користувача.",
"type": "string",
"required": false
},
"slug": {
"description": "Літерно-цифровий ідентифікатор користувача.",
"type": "string",
"required": false
},
"Roles": {
"description": "Ролі призначені користувачеві.",
"type": "array",
"items": {
"type": "string"
},
"required": false
},
"password": {
"description": "Пароль користувача (ніколи не відображається).",
"type": "string",
"required": true
},
"meta": {
"description": "Мета поля.",
"type": "object",
"properties": [],
"required": false
}
}
}
],
"Schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "user",
"type": "object",
"properties": {
"id": {
"description": "Унікальний ідентифікатор користувача.",
"type": "integer",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"username": {
"description": "Ім'я входу для користувача.",
"type": "string",
"context": [
"edit"
],
"required": true
},
"name": {
"description": "Ім'я користувача, що відображається.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"first_name": {
"description": "Ім'я користувача.",
"type": "string",
"context": [
"edit"
]
},
"last_name": {
"description": "Прізвище користувача.",
"type": "string",
"context": [
"edit"
]
},
"email": {
"description": "Адреса email користувача.",
"type": "string",
"format": "email",
"context": [
"edit"
],
"required": true
},
"url": {
"description": "URL користувача.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"description": {
"description": "Опис користувача.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"link": {
"description": "URL автора для користувача.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"locale": {
"description": "Локаль для користувача.",
"type": "string",
"enum": [
"",
"en_US",
"ru_RU"
],
"context": [
"edit"
]
},
"nickname": {
"description": "Нік користувача.",
"type": "string",
"context": [
"edit"
]
},
"slug": {
"description": "Літерно-цифровий ідентифікатор користувача.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"registered_date": {
"description": "Дата реєстрації користувача.",
"type": "string",
"format": "date-time",
"context": [
"edit"
],
"readonly": true
},
"Roles": {
"description": "Ролі призначені користувачеві.",
"type": "array",
"items": {
"type": "string"
},
"context": [
"edit"
]
},
"password": {
"description": "Пароль користувача (ніколи не відображається).",
"type": "string",
"context": [],
"required": true
},
"capabilities": {
"description": "Всі можливості призначені користувачеві.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"extra_capabilities": {
"description": "Будь-які додаткові можливості призначені користувачеві.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"avatar_urls": {
"description": "URL аватара користувача.",
"type": "object",
"context": [
"embed",
"view",
"edit"
],
"readonly": true,
"properties": {
"24": {
"description": "URL аватари з розміром зображення в 24 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"48": {
"description": "URL аватари з розміром зображення в 48 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"96": {
"description": "URL аватари з розміром зображення в 96 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
}
}
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
},
"_links": {
"self": [
{
"href": "https://wp-doc.com/api/wp/v2/users"
}
]
}
}
Список користувачівАлгоритм схожий на роботу функції get_users() .
Вид запиту Доступ: публічний
GET /wp/v2/users Параметри запиту
context
(string)
Рамки у яких зроблено запит, визначають поля відповіді.Можливо:
view, embed, edit .
Типово: view
page
(integer)
Поточна сторінка колекції.За замовчуванням: 1
per_page
(integer)
Максимальна кількість об’єктів, що повертається у вибірці.Типово: 10
search
(string)
Обмежити результати до збігаються з рядком.
exclude
(array)
Виключити із вибірки певні ID. Вказується масив ID.За замовчуванням: []
include
(array)
Обмежити вибірку до певних ID. Вказується масив ID.За замовчуванням: []
offset
(integer)
Зсув вибірки на кілька об’єктів.
order
(string)
Сортувати за зростанням (asc) або зменшенням (desc).Можливо:
asc, desc
За замовчуванням: asc
orderby
(string)
Поле, яким потрібно сортувати колекцію.Можливо:
id, include, name, registered_date, slug, include_slugs, email, url .
Типово: name
slug
(array)
Ярлик користувача якого потрібно отримати. Можна вказати кілька ярликів у масиві.
roles
(array)
Отримати користувачів із зазначеною роллю. Можна вказати кілька ролей у масиві. Можна вказати список CSV або одну роль.
who
(string)
Обмежити вибірку користувачами-авторами.Можливо:
authors .
Приклад запиту $ curl http://demo.wp-api.org/wp-json/wp/v2/users?search=human Відповідь:
[
{
"id": 1,
"name": "Human Made",
"url": "",
"description": "",
"link": "https://demo.wp-api.org/author/humanmade/",
"slug": "humanmade",
"avatar_urls": {
"24": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=24&d=mm&r=g",
"48": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=48&d=mm&r=g",
"96": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=96&d=mm&r=g"
},
"meta": [],
"_links": {
"self": [
{
"href": "https://demo.wp-api.org/wp-json/wp/v2/users/1"
}
],
"collection": [
{
"href": "https://demo.wp-api.org/wp-json/wp/v2/users"
}
]
}
},
{...}
]
Створення користувачаАлгоритм схожий на роботу функції wp_create_user() .
Вид запиту Доступ: потрібна авторизація
POST /wp/v2/users Параметри запиту
username
(рядок) (обов’язковий)
Ім’я входу користувача.
email
(рядок) (обов’язковий)
Адреса e-mail користувача.
password
(рядок) (обов’язковий)
Пароль користувача (ніколи не відображається).
name
(рядок)
Ім’я користувача, що відображається.
first_name
(рядок)
Ім’я користувача.
last_name
(рядок)
Прізвище користувача.
url
(рядок)
URL користувача.
description
(рядок)
Опис користувача.
locale
(рядок)
Локаль для користувача. Можливо:
”, en_US, ru_RU, uk .
nickname
(рядок)
Нік користувача.
slug
(рядок)
Літерно-цифровий ідентифікатор користувача.
roles
(масив)
Ролі призначені користувачеві. Вказується масив ролей.
meta
(об’єкт)
Мета поля. Приклад запиту $ curl -X POST -i http://example.com/wp-json/wp/v2/users?username=neuser&[email protected] &password=123456 Відповідь:
{
"id": 2,
"username": "neuser",
"name": "neuser",
"first_name": "",
"last_name": "",
"email": "[email protected] ",
"url": "",
"description": "",
"link": "http://example.com/author/neuser/",
"locale": "ru_RU",
"nickname": "neuser",
"slug": "neuser",
"Roles": [
"subscriber"
],
"registered_date": "2018-08-31T13:36:18+00:00",
"capabilities": {
"read": true,
"level_0": true,
"subscriber": true
},
"extra_capabilities": {
"subscriber": true
},
"avatar_urls": {
"24": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=24&d=mm&r=g",
"48": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=48&d=mm&r=g",
"96": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=96&d=mm&r=g"
},
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/users/2"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/users"
}
]
}
} Приклад запиту на PHP з авторизацією Авторизація працює на базі Паролей додатків
$res = wp_remote_post( 'https://wp-kama.dev/api/wp/v2/users', [
'headers' => [
'Authorization' => 'Basic a21RyBYVjJzIE5a2RVBWjQFtYTpg5W5uSTIYTRVIFUgeaw==',
],
'body' => [
'username' => 'testets2',
'email' => '[email protected] ',
'password' => 'test123',
],
]);
if( 200 === wp_remote_retrieve_response_code( $res ) ){
// успішно
}
else {
// помилка
}
// out
print_r (json_decode (wp_remote_retrieve_body ($ res)))); В результаті отримаємо:
// Можливі помилки при вдалому запиті:
stdClass Object(
[code] => existing_user_login
[message] => Вибачте, це ім'я користувача вже існує!
[data] =>
)
stdClass Object(
[code] => existing_user_email
[message] => Вибачте, ця адреса email вже використовується!
[data] =>
)
// Користувач створений
stdClass Object(
[id] => 4562
[username] => testets2
[name] => testets2
[first_name] =>
[last_name] =>
[email] => [email protected]
[url] =>
[description] =>
[link] => https://wp-kama.dev/id_author/testets2
[locale] => ru_UA
[nickname] =>
[slug] => testets2
[roles] => Array(
[0] => subscriber
)
[registered_date] => 2021-07-25T14:04:18+00:00
[capabilities] => stdClass Object(
[read] => 1
[level_0] => 1
[subscriber] => 1
)
[extra_capabilities] => stdClass Object(
[subscriber] => 1
)
[avatar_urls] => stdClass Object(
[24] => https://secure.gravatar.com/avatar/2c0ba19f07a7894f544290488963e835?s=24&d=mystery&r=g
[48] => https://secure.gravatar.com/avatar/2c0ba19f07a7894f544290488963e835?s=48&d=mystery&r=g
[96] => https://secure.gravatar.com/avatar/2c0ba19f07a7894f544290488963e835?s=96&d=mystery&r=g
)
[meta] => Array()
[_links] => stdClass Object(
[self] => Array(
[0] => stdClass Object(
[href] => https://wp-kama.dev/api/wp/v2/users/4562
)
)
[collection] => Array(
[0] => stdClass Object(
[href] => https://wp-kama.dev/api/wp/v2/users
)
)
)
)
wp/v2/users/{ID}Запит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/users/{ID} GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"id": {
"required": false,
"description": "Унікальний ідентифікатор користувача.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
"type": "string"
}
}
},
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"id": {
"required": false,
"description": "Унікальний ідентифікатор користувача.",
"type": "integer"
},
"username": {
"required": false,
"description": "Ім'я входу для користувача.",
"type": "string"
},
"name": {
"required": false,
"description": "Ім'я користувача, що відображається.",
"type": "string"
},
"first_name": {
"required": false,
"description": "Ім'я користувача.",
"type": "string"
},
"last_name": {
"required": false,
"description": "Прізвище користувача.",
"type": "string"
},
"email": {
"required": false,
"description": "Адреса e-mail користувача.",
"type": "string"
},
"url": {
"required": false,
"description": "URL користувача.",
"type": "string"
},
"description": {
"required": false,
"description": "Опис користувача.",
"type": "string"
},
"locale": {
"required": false,
"enum": [
"",
"en_US",
"ru_RU",
"uk"
],
"description": "Локаль для користувача.",
"type": "string"
},
"nickname": {
"required": false,
"description": "Нік користувача.",
"type": "string"
},
"slug": {
"required": false,
"description": "Літерно-цифровий ідентифікатор користувача.",
"type": "string"
},
"Roles": {
"required": false,
"description": "Ролі призначені користувачеві.",
"type": "array",
"items": {
"type": "string"
}
},
"password": {
"required": false,
"description": "Пароль користувача (ніколи не відображається).",
"type": "string"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
}
}
},
{
"methods": [
"DELETE"
],
"args": {
"id": {
"required": false,
"description": "Унікальний ідентифікатор користувача.",
"type": "integer"
},
"force": {
"required": false,
"default": false,
"description": "Повинно бути дійсним, тому що користувачів не можна перемістити в кошик.",
"type": "boolean"
},
"reassign": {
"required": true,
"description": "Перезначити видалені записи користувача та посилання на цей ID користувача.",
"type": "integer"
}
}
}
],
"Schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "user",
"type": "object",
"properties": {
"id": {
"description": "Унікальний ідентифікатор користувача.",
"type": "integer",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"username": {
"description": "Ім'я входу для користувача.",
"type": "string",
"context": [
"edit"
],
"required": true
},
"name": {
"description": "Ім'я користувача, що відображається.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"first_name": {
"description": "Ім'я користувача.",
"type": "string",
"context": [
"edit"
]
},
"last_name": {
"description": "Прізвище користувача.",
"type": "string",
"context": [
"edit"
]
},
"email": {
"description": "Адреса e-mail користувача.",
"type": "string",
"format": "email",
"context": [
"edit"
],
"required": true
},
"url": {
"description": "URL користувача.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"description": {
"description": "Опис користувача.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"link": {
"description": "URL автора для користувача.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"locale": {
"description": "Локаль для користувача.",
"type": "string",
"enum": [
"",
"en_US",
"ru_RU",
"uk"
],
"context": [
"edit"
]
},
"nickname": {
"description": "Нік користувача.",
"type": "string",
"context": [
"edit"
]
},
"slug": {
"description": "Літерно-цифровий ідентифікатор користувача.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"registered_date": {
"description": "Дата реєстрації користувача.",
"type": "string",
"format": "date-time",
"context": [
"edit"
],
"readonly": true
},
"Roles": {
"description": "Ролі призначені користувачеві.",
"type": "array",
"items": {
"type": "string"
},
"context": [
"edit"
]
},
"password": {
"description": "Пароль користувача (ніколи не відображається).",
"type": "string",
"context": [],
"required": true
},
"capabilities": {
"description": "Всі можливості призначені користувачеві.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"extra_capabilities": {
"description": "Будь-які додаткові можливості призначені користувачеві.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"avatar_urls": {
"description": "URL аватара користувача.",
"type": "object",
"context": [
"embed",
"view",
"edit"
],
"readonly": true,
"properties": {
"24": {
"description": "URL аватари з розміром зображення в 24 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"48": {
"description": "URL аватари з розміром зображення в 48 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"96": {
"description": "URL аватари з розміром зображення в 96 пікселів.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
}
}
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
}
}
Отримання користувачаАлгоритм схожий на роботу функції get_userdata() .
Вид запиту Доступ: публічний
GET /wp/v2/users/{id} Параметри запиту
context
(рядок)
Область, у якій виконується запит; визначає поля, присутні у відповіді.Можливо:
view, embed, edit
За замовчуванням: view
Приклад запиту $ curl http://demo.wp-api.org/wp-json/wp/v2/users/1 {
"id": 1,
"name": "Human Made",
"url": "",
"description": "",
"link": "https://demo.wp-api.org/author/humanmade/",
"slug": "humanmade",
"avatar_urls": {
"24": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=24&d=mm&r=g",
"48": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=48&d=mm&r=g",
"96": "http://2.gravatar.com/avatar/83888eb8aea456e4322577f96b4dbaab?s=96&d=mm&r=g"
},
"meta": [],
"_links": {
"self": [
{
"href": "https://demo.wp-api.org/wp-json/wp/v2/users/1"
}
],
"collection": [
{
"href": "https://demo.wp-api.org/wp-json/wp/v2/users"
}
]
}
}
Оновлення користувачаАлгоритм схожий на роботу функції wp_update_user() .
Вид запиту Доступ: потрібна авторизація
POST|PUT|PATCH /wp/v2/users/{id} Параметри запиту
username
(рядок)
Ім’я входу користувача.
name
(рядок)
Ім’я користувача, що відображається.
first_name
(рядок)
Ім’я користувача.
last_name
(рядок)
Прізвище користувача.
email
(рядок)
Адреса e-mail користувача.
url
(рядок)
URL користувача на сторінку постів.
description
(рядок)
Опис користувача.
locale
(рядок)
Локаль для користувача. Можливо:
”, en_US, ru_RU, uk .
nickname
(рядок)
Нік користувача.
slug
(рядок)
Ярлик користувача.
roles
(масив)
Ролі призначені користувачеві. Масив рядків.
password
(рядок)
Пароль користувача (ніколи не відображається).
meta
(об’єкт)
Мета поля. Приклад запиту $ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/users/[email protected]
Видалення користувачаАлгоритм схожий на роботу функції wp_delete_user() .
Вид запиту Доступ: потрібна авторизація
DELETE /wp/v2/users/{id} Параметри запиту
force
(true/false)
Завжди має бути true, тому що користувачів не можна перемістити до корзини.Типово: false
reassign
(число) (обов’язковий)
ID користувача на якого потрібно перекинути всі пости та посилання, що видаляється. Якщо не вказати цей параметр, всі пости видаленого користувача будуть також видалені. Приклад запиту $ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/users/2 Помилка: не вказано параметр reassign
{
"code": "rest_missing_callback_param",
"message": "Відсутний параметр: reassign",
"data": {
"status": 400,
"params": [
"reassign"
]
}
} Вкажемо цей параметр:
$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/users/2?reassign=1 Знову помилка: потрібно обов’язково вказати force=true
{
"code": "rest_trash_not_supported",
"message": "Користувачів не можна перемістити в кошик. Встановіть 'force=true' для видалення.",
"data": {
"status": 501
}
} Вкажемо і цей параметр
$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/users/2?reassign=1&force=true Користувач видалений:
{
"deleted": true,
"previous": {
"id": 2,
"username": "neuser",
"name": "neuser",
"first_name": "",
"last_name": "",
"email": "[email protected] ",
"url": "",
"description": "",
"link": "http://example.com/author/neuser/",
"locale": "ru_RU",
"nickname": "neuser",
"slug": "neuser",
"Roles": [
"subscriber"
],
"registered_date": "2018-08-31T13:36:18+00:00",
"capabilities": {
"read": true,
"level_0": true,
"subscriber": true
},
"extra_capabilities": {
"subscriber": true
},
"avatar_urls": {
"24": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=24&d=mm&r=g",
"48": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=48&d=mm&r=g",
"96": "http://0.gravatar.com/avatar/3731f606afa8dccc9123bdd4062c4af1?s=96&d=mm&r=g"
},
"meta": []
}
}
wp/v2/users/meМаршрут вимагає авторизації в REST.
Запит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/users/me GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Scope under which the request is made; determines fields present in response.",
"type": "string"
}
}
},
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"username": {
"required": false,
"description": "Login name for the user.",
"type": "string"
},
"name": {
"required": false,
"description": "Display name for the user.",
"type": "string"
},
"first_name": {
"required": false,
"description": "First name for the user.",
"type": "string"
},
"last_name": {
"required": false,
"description": "Last name for the user.",
"type": "string"
},
"email": {
"required": false,
"description": "The email address for the user.",
"type": "string"
},
"url": {
"required": false,
"description": "URL of the user.",
"type": "string"
},
"description": {
"required": false,
"description": "Description of the user.",
"type": "string"
},
"locale": {
"required": false,
"enum": [
"",
"en_US"
],
"description": "Locale for the user.",
"type": "string"
},
"nickname": {
"required": false,
"description": "Nickname for the user.",
"type": "string"
},
"slug": {
"required": false,
"description": "An alphanumeric identifier for the user.",
"type": "string"
},
"Roles": {
"required": false,
"description": "Roles assigned to the user.",
"type": "array",
"items": {
"type": "string"
}
},
"password": {
"required": false,
"description": "Password для користувача (включено).",
"type": "string"
},
"meta": {
"required": false,
"description": "Meta fields.",
"type": "object"
}
}
},
{
"methods": [
"DELETE"
],
"args": {
"force": {
"required": false,
"default": false,
"description": "Потрібно бути вірним, як користувачі не підтримують trashing.",
"type": "boolean"
},
"reassign": {
"required": true,
"description": "Reassign the deleted user's posts and links to this user ID.",
"type": "integer"
}
}
}
],
"Schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "user",
"type": "object",
"properties": {
"id": {
"description": "Unique identifier for the user.",
"type": "integer",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"username": {
"description": "Login name for the user.",
"type": "string",
"context": [
"edit"
],
"required": true
},
"name": {
"description": "Display name for the user.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"first_name": {
"description": "First name for the user.",
"type": "string",
"context": [
"edit"
]
},
"last_name": {
"description": "Last name for the user.",
"type": "string",
"context": [
"edit"
]
},
"email": {
"description": "The email address for the user.",
"type": "string",
"format": "email",
"context": [
"edit"
],
"required": true
},
"url": {
"description": "URL of the user.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"description": {
"description": "Description of the user.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"link": {
"description": "Author URL of the user.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"locale": {
"description": "Locale for the user.",
"type": "string",
"enum": [
"",
"en_US"
],
"context": [
"edit"
]
},
"nickname": {
"description": "Nickname for the user.",
"type": "string",
"context": [
"edit"
]
},
"slug": {
"description": "An alphanumeric identifier for the user.",
"type": "string",
"context": [
"embed",
"view",
"edit"
]
},
"registered_date": {
"description": "Registration date for the user.",
"type": "string",
"format": "date-time",
"context": [
"edit"
],
"readonly": true
},
"Roles": {
"description": "Roles assigned to the user.",
"type": "array",
"items": {
"type": "string"
},
"context": [
"edit"
]
},
"password": {
"description": "Password для користувача (включено).",
"type": "string",
"context": [],
"required": true
},
"capabilities": {
"description": "All capabilities assigned to the user.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"extra_capabilities": {
"description": "Якщо більше можливостей визначено для користувача.",
"type": "object",
"context": [
"edit"
],
"readonly": true
},
"avatar_urls": {
"description": "Avatar URLs for the user.",
"type": "object",
"context": [
"embed",
"view",
"edit"
],
"readonly": true,
"properties": {
"24": {
"description": "Avatar URL with image size of 24 pixels.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"48": {
"description": "Avatar URL with image size of 48 pixels.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
},
"96": {
"description": "Avatar URL with image size of 96 pixels.",
"type": "string",
"format": "uri",
"context": [
"embed",
"view",
"edit"
]
}
}
},
"meta": {
"description": "Meta fields.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
},
"_links": {
"self": "https://demo.wp-api.org/wp-json/wp/v2/users/me"
}
}
Отримання поточного користувачаМаршрут працює також як попередній wp/v2/users/{ID}
.
$ curl http://example.com/wp-json/wp/v2/users/me {
"id": 1,
"name": "kama",
"url": "",
"description": "",
"link": "http://example.com/author/kama/",
"slug": "kama",
"avatar_urls": {
"24": "http://1.gravatar.com/avatar/155e695ab2251ee3c482c1e3e690683b?s=24&d=mm&r=g",
"48": "http://1.gravatar.com/avatar/155e695ab2251ee3c482c1e3e690683b?s=48&d=mm&r=g",
"96": "http://1.gravatar.com/avatar/155e695ab2251ee3c482c1e3e690683b?s=96&d=mm&r=g"
},
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/users/1"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/users"
}
]
}
}
Оновлення поточного користувачаДив. маршрут wp/v2/users/{ID}
.
Видалення поточного користувачаДив. маршрут wp/v2/users/{ID}
.
/wp/v2/users/{ID}/application-passwords
/wp/v2/users/me/application-passwordsЗапит OPTIONS до маршруту поверне повний опис цього маршруту.
OPTIONS http://demo.wp-api.org/wp-json/wp/v2/users/{ID}/application-passwords GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
"type": "string",
"enum": [
"view",
"embed",
"edit"
],
"default": "view",
"required": false
}
}
},
{
"methods": [
"POST"
],
"args": {
"app_id": {
"description": "UUID, що надається програмою для унікальної ідентифікації. Рекомендується використовувати UUID v5 з простором імен URL або DNS.",
"type": "string",
"format": "uuid",
"required": false
},
"name": {
"description": "Назва пароля програми.",
"type": "string",
"required": true
}
}
},
{
"methods": [
"DELETE"
],
"args": []
}
],
"schema": {...}
}
Перегляд Паролей додатків користувачаОтримує всі паролі програми користувача. Див. WP_Application_Passwords::get_user_application_passwords() .
Вид запиту GET /wp/v2/users/{id}/application-passwords Параметри запиту
$context
(рядок)
Рамки у яких зроблено запит, визначають поля відповіді. Можливі значення:
view
,
embed
,
edit
.Типово: view
Приклад запиту GET https://wp-doc.com/api/wp/v2/users/1/application-passwords Відповідь:
[
{
"uuid": "e76548d7-0274-438c-b04a-904301bda4d32",
"app_id": "",
"name": "Тест",
"created": "2020-12-23T13:47:55",
"last_used": "2020-12-23T13:48:55",
"last_ip": "89.149.201.210",
"_links": {
"self": [
{
"href": "https://wp-doc.com/api/wp/v2/users/1/application-passwords/e76548d7-0274-438c-b04a-904301bda4d32"
}
]
}
},
{
"uuid": "e76548d7-0274-438c-b04a-987301bda4d32",
"app_id": "",
"name": "Test2",
"created": "2020-12-23T13:49:08",
"last_used": null,
"last_ip": null,
"_links": {
"self": [
{
"href": "https://wp-doc.com/api/wp/v2/users/1/application-passwords/e76548d7-0274-438c-b04a-987301bda4d32"
}
]
}
}
]
Створення Пароля програмиСтворює пароль програми. Див. WP_Application_Passwords::create_new_application_password() .
Вид запиту Доступ: вимагає авторизації.
POST /wp/v2/users/{id}/application-passwords Параметри запиту
$name
(рядок) (обов’язковий)
Назва пароля програми.
$app_id
(рядок)
UUID надається програмою для унікальної ідентифікації. Рекомендується використовувати UUID v5 з простором імен URL або DNS.За замовчуванням: ”
Приклад запиту POST https://wp-doc.com/api/wp/v2/users/1/application-passwords?name=Test2 Відповідь:
{
"uuid": "c9e5ce07-0ccb-4a2e-963a-feda93cf8bab",
"app_id": "",
"name": "Test2",
"created": "2020-12-23T12:41:38",
"last_used": null,
"last_ip": null,
"password": "pNFX LyvZ gz75 tiks UZiT xlSL",
"_links": {
"self": [
{
"href": "https://wp-doc.com/api/wp/v2/users/1/application-passwords/c9e5ce07-0ccb-4a2e-963a-feda93cf8bab"
}
]
}
}
Видалення Паролей програми користувачаВидаляє всі паролі пропозицій користувача. Див. WP_Application_Passwords::delete_all_application_passwords() .
Вид запиту Доступ: вимагає авторизації.
DELETE /wp-json/wp/v2/users/1/application-passwords Параметри запиту Параметрів немає.
/wp/v2/users/{ID}/application-passwords/uuid
/wp/v2/users/me/application-passwords/uuidЦі ендпоінти такі ж, як попередні, тільки працюють з конкретним паролем програми.
Запит OPTIONS до маршруту поверне повний опис цього маршруту.
OPTIONS http://demo.wp-api.org/wp-json/wp/v2/users/{ID}/application-passwords/{uuid} GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
"type": "string",
"enum": [
"view",
"embed",
"edit"
],
"default": "view",
"required": false
}
}
},
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"app_id": {
"description": "UUID, що надається програмою для унікальної ідентифікації. Рекомендується використовувати UUID v5 з простором імен URL або DNS.",
"type": "string",
"format": "uuid",
"required": false
},
"name": {
"description": "Назва пароля програми.",
"type": "string",
"required": false
}
}
},
{
"methods": [
"DELETE"
],
"args": []
}
],
"schema": {...}
}
Перегляд Пароля програмиАналогічно запит GET /wp/v2/users/{ID}/application-passwords .
Вид запиту GET /wp/v2/users/{ID}/application-passwords/{uuid} приклад GET https://example.com/wp-json/wp/v2/users/1/application-passwords/e79943d8-0367-287c-b07a-90001bda4d32 Відповідь:
{
"uuid": "e79943d8-0367-287c-b07a-90001bda4d32",
"app_id": "",
"name": "Test2",
"created": "2020-12-23T13:49:08",
"last_used": null,
"last_ip": null,
"_links": {
"self": [
{
"href": "https://example.com/api/wp/v2/users/1/application-passwords/e79943d8-0367-287c-b07a-90001bda4d32"
}
]
}
}
Додавання Пароля програмиАналогічно запиту POST /wp/v2/users/{ID}/application-passwords .
Вид запиту POST|PUT|PATCH /wp/v2/users/{ID}/application-passwords/{uuid} приклад POST https://example.com/wp-json/wp/v2/users/1/application-passwords/e77743d8-0367-287c-b07a-90001bda4d32
Видалення Пароля програмиАналогічно запит DELETE /wp/v2/users/{ID}/application-passwords .
Вид запиту DELETE /wp/v2/users/{ID}/application-passwords/{uuid} приклад DELETE https://example.com/wp-json/wp/v2/users/1/application-passwords/e78743d8-0367-287c-b07a-90001bda4d32