Получить список заданий управления сайтами
const url = 'https://example.com/wp-json/wp2/site-manager/v1/jobs?type=site_manager.&limit=20';const options = {method: 'GET', headers: {'X-WP-Nonce': '<X-WP-Nonce>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/wp-json/wp2/site-manager/v1/jobs?type=site_manager.&limit=20' \ --header 'X-WP-Nonce: <X-WP-Nonce>'Задания текущего пользователя с префиксом типа site_manager. (копии и bulk). Чужие jobs супер-админ здесь не видит — list_for_user фильтрует по user_id.
Нужны manage_network или manage_options.
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Query Parameters
Заголовок раздела «Query Parameters»Фильтр по статусу задания (pending, running, completed, failed, cancelled). Пусто — все статусы.
Префикс типа (str_starts_with). По умолчанию site_manager. — все задания модуля. Можно сузить, например site_manager.bulk.
Максимум заданий в items. PHP: max(1, min(100, limit ?: 20)).
Responses
Заголовок раздела «Responses»Объект с массивом items (не голый массив).
object
Задания Site Manager текущего пользователя, новые ближе к началу индекса.
object
UUID задания (PlatformJob::$job_id). В Site Manager GET отдаёт 404 job_not_found, если тип не начинается с site_manager. или записи нет.
Машинный тип задания. Site Manager: site_manager.create_from_source, site_manager.bulk. Site Duplicator использует свои префиксы того же PlatformJob.
Статус жизненного цикла (pending / running / completed / failed; PHP также может отдать cancelled как терминальный).
Текущая фаза воркера (короткая метка прогресса, например bulk), не HTTP-статус.
Счётчики прогресса (percent / current / total), как сложил воркер в PlatformJob::$progress.
object
Процент выполнения 0–100, если воркер его пишет.
Сколько единиц уже обработано.
Сколько единиц всего (например число blog_ids в bulk).
Человекочитаемый статус воркера (не PIN и не лог WP-CLI).
Кто поставил задание. GET чужого job без manage_network — 403 forbidden. Список jobs отдаёт только задания текущего пользователя.
Сеть, в которой создали задание. Чужая сеть — 404 job_not_in_network (текст «Job not found.»).
Вход воркера (для bulk — blog_ids/action/patch/drop_tables; для create_from_source — source_blog_id и поля нового сайта).
object
Результат после completed (для bulk — succeeded/failed/total/processed). null, пока задание не закончено успешно.
object
Ошибка при failed. PHP кладёт массив {code, message} в PlatformJob::$error; null, если не падало.
Время создания задания (GMT, gmdate('c')).
Время последнего обновления прогресса/статуса.
Время перехода в терминальный статус; null, пока задание идёт.
Example
{ "items": [ { "job_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "type": "site_manager.bulk", "status": "pending", "phase": "", "message": "", "user_id": 1, "network_id": 1 } ]}Не аутентифицирован. DualRest: rest_forbidden (status 401), если нет cookie-сессии. Cookie + X-WP-Nonce или Application Password.
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Нет права manage_network/manage_options или невалидный REST nonce.
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}