Перейти к содержимому

Остановить выполняемую сборку

POST
/wp-json/wp2lms/static-builder/v1/builds/{id}/stop
curl --request POST \
--url 'https://example.com/wp-json/wp2lms/static-builder/v1/builds/128/stop?blog_id=1' \
--header 'X-WP-Nonce: <X-WP-Nonce>'

Ставит статус stopping, если текущий статус pending или building. Тело не нужно. PHP не убивает PHP-процесс генерации здесь: только set_build_status(Stopping) и serialize. Иной статус (new, completed, error, stopped, stopping, …) — 409 cannot_stop. Это не DELETE и не run. Нужно manage_network или edit_pages. Cookie + X-WP-Nonce или Application Password.

id
required
integer
>= 1

ID записи CPT wp2lms_static_build (то же число, что StaticBuild.id). ≤ 0 — 400 invalid_id.

Example
128
blog_id
integer
>= 1

ID сайта мультисети, на котором читать/писать сборки. Необязательно: PHP берёт get_current_blog_id(). ≤ 0 — 400 invalid_blog. Чужой/несуществующий сайт — 404 blog_not_found. На одиночном сайте обычно не передают.

Example
1

Запрошена остановка. Тело — serialize; status обычно stopping.

Media typeapplication/json
object
id

ID записи CPT wp2lms_static_build.

integer
status

BuildStatus->value: new, pending, building, completed, error, stopped, rebuild, build, stopping. После create обычно new; после async run — pending.

string
terminal

True для completed, error, stopped.

boolean
config
object
course_name

ACF courseName в сохранённой сборке.

string
api_type

ACF apiType; пустое PHP подменяет на local.

string
course_id

ACF courseID (get_course_id), может быть пустой строкой.

string
build_course_id

ID связанного CPT wp2lms_courses (meta ssb_course_id). 0 если не привязана.

integer
version

Число версии из ACF (get_version_number), по умолчанию 1.

number
course_comment

ACF courseComment.

string
export_mode

Package или live (get_export_mode; иное/пустое → package).

string
page_ids

ID страниц в порядке пакета; первый = главная.

Array<integer>
main_page_id

ID главной страницы (get_main_page), обычно page_ids[0].

integer
is_primary

Избранная сборка курса (meta ssb_is_primary). Не больше одной на связанный курс; звезда в метабоксе «Сборки».

boolean
use_sections_in_menu

True, если хотя бы у одной выбранной страницы есть термин таксономии секций. Сайтовая опция через REST не задаётся.

boolean
disable_auto_addition_data

Сайтовая настройка Static Builder disableAutoAdditionData (не поле тела REST).

boolean
not_include_media_files_build

Для package — сайтовая notIncludeMediaFilesBuild; для live PHP всегда false.

boolean
save_external_files

Для package — saveExternalFiles (null → true); для live всегда false (внешние файлы не качаются).

boolean
revision

Номер ревизии сборки из мета (get_revision_number).

integer
logs

Журнал шагов (get_logs(true) — новые сверху). После create обычно [].

Array<object>
object
time

Unix-время записи шага сборки (0, если в мета нет time).

integer
level

Уровень записи лога сборки (info, если в мета нет level).

string
message

Текст шага генерации пакета.

string
view_url

URL просмотра (index.html / live). Не null только при status=completed и существующем view на диске; иначе null (в т.ч. сразу после create). Для live и package — если файл есть.

string
nullable
zip_url

URL ZIP-пакета. Не null только при completed и существующем архиве (типично package / scorm / xapi). Для live ZIP часто отсутствует — тогда null.

string
nullable
files_url

URL каталога {uploads}/wp2lms-static/{id}/. Всегда строка, даже если файлов ещё нет.

string
edit_url

Сырая ссылка wp-admin на карточку сборки (get_edit_post_link(..., 'raw')).

string
nullable
blog_id

ID сайта, на котором лежит сборка (get_current_blog_id после switch_to_blog).

integer
Example
{
"id": 128,
"status": "stopping",
"terminal": false,
"config": {
"course_name": "Основы информационной безопасности",
"api_type": "scorm",
"course_id": "course-infosec-101",
"version": 1,
"course_comment": "Пакет для LMS",
"export_mode": "package"
},
"page_ids": [
42,
57
],
"main_page_id": 42,
"use_sections_in_menu": false,
"disable_auto_addition_data": false,
"not_include_media_files_build": false,
"save_external_files": true,
"revision": 1,
"logs": [],
"view_url": null,
"zip_url": null,
"files_url": "https://pulse.example.com/wp-content/uploads/wp2lms-static/128/",
"edit_url": "https://pulse.example.com/wp-admin/post.php?post=128&action=edit",
"blog_id": 1
}

Wp2lms_static_builder_invalid_id — id ≤ 0; invalid_blog — blog_id ≤ 0.

Media typeapplication/json
object
code

Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).

string
message

Человекочитаемое сообщение ошибки из PHP / WordPress REST.

string
data

Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.

object
key
additional properties
any
Example
{
"code": "wp2lms_static_builder_busy",
"message": "Build is currently building and cannot be updated.",
"data": {
"status": 409
}
}

Не аутентифицирован. DualRest: rest_forbidden (status 401), если нет cookie-сессии. Cookie + X-WP-Nonce или Application Password.

Media typeapplication/json
object
code

Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).

string
message

Человекочитаемое сообщение ошибки из PHP / WordPress REST.

string
data

Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.

object
key
additional properties
any
Example
{
"code": "wp2lms_static_builder_busy",
"message": "Build is currently building and cannot be updated.",
"data": {
"status": 409
}
}

Нет права manage_network (мультисайт) или edit_pages (одиночный сайт); невалидный REST nonce rest_cookie_invalid_nonce.

Media typeapplication/json
object
code

Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).

string
message

Человекочитаемое сообщение ошибки из PHP / WordPress REST.

string
data

Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.

object
key
additional properties
any
Example
{
"code": "wp2lms_static_builder_busy",
"message": "Build is currently building and cannot be updated.",
"data": {
"status": 409
}
}

Wp2lms_static_builder_not_found — нет сборки этого CPT; blog_not_found — сайта нет или он в другой сети.

Media typeapplication/json
object
code

Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).

string
message

Человекочитаемое сообщение ошибки из PHP / WordPress REST.

string
data

Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.

object
key
additional properties
any
Example
{
"code": "wp2lms_static_builder_busy",
"message": "Build is currently building and cannot be updated.",
"data": {
"status": 409
}
}

Wp2lms_static_builder_cannot_stop — статус не pending и не building.

Media typeapplication/json
object
code

Машинный код WP_Error (например wp2lms_static_builder_busy, rest_forbidden, invalid_nonce).

string
message

Человекочитаемое сообщение ошибки из PHP / WordPress REST.

string
data

Обычно { status: <HTTP-код> }. Если status нет, ядро REST часто отдаёт 500.

object
key
additional properties
any
Example
{
"code": "wp2lms_static_builder_busy",
"message": "Build is currently building and cannot be updated.",
"data": {
"status": 409
}
}