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

Получить данные раннера

GET
/wp-json/wp2tutor-forms/form/v1/getRunnerData
curl --request GET \
--url 'https://example.com/wp-json/wp2tutor-forms/form/v1/getRunnerData?id=42' \
--header 'X-WP-Nonce: <X-WP-Nonce>'

Отдаёт полезную нагрузку, с которой раннер монтирует форму: HTML-id контейнера, имена window-глобалов для переводов/локали и объект props. Это не пакет /i18n/v1/* и не Gravity Forms: form_id — строка wp2lms-form-{id} записи CPT wp2tutor_form. Query id обязателен. Право то же, что у update*: edit_post на эту запись (ручка не публичная). Token в запросе нет. translations_variable / locale_variable — имена JS-глобалов (WP2TutorFormTranslations, WP2TutorFormLocale), не сами словари. Шаблон раннера берёт window[translations_variable][props.runner] и window[locale_variable]. Сами JSON i18n в этом ответе не приходят. props — снимок формы плюс поля раннера: element (= form_id), language всегда ru_RU, sectionsToSave — уникальные repeatSectionId из definition. Остальное — FormPost::get_props() (id, token, runner, definition, styles, l10n, hooks, trackers, shortcode, захардкоженные results/entries/tier, base64 data, open из query open). Cookie + X-WP-Nonce или Application Password.

id
required
integer

ID записи CPT wp2tutor_form. Не Gravity Forms. PHP приводит к int. Нет записи — 404 post_not_found; не этот CPT — 400 invalid_post_type.

Example
42

Снимок для раннера: form_id, имена window-глобалов и props.

Media typeapplication/json
object
form_id

HTML-id контейнера раннера. PHP: 'wp2lms-form-' . FormPost::get_id(). Строка, не число Gravity Forms и не голый post ID.

string
translations_variable

Имя window-глобала с переводами раннера. Константа FormRunnerAssetsManager::JS_TRANSLATIONS_VAR = WP2TutorFormTranslations. Шаблон: window[translations_variable][props.runner]. Сам словарь в этом ответе не приходит.

string
locale_variable

Имя window-глобала с пакетом локали. Константа JS_LOCALE_VAR = WP2TutorFormLocale. Шаблон: window[locale_variable]. Содержимое locales/*.json здесь не дублируется.

string
props

Полезная нагрузка initWP2TutorForm. PHP: element + FormPost::get_props() + захардкоженный language = ru_RU + sectionsToSave из repeatSectionId в definition.

object
element

Тот же id, что form_id (wp2lms-form-{id}). Куда раннер монтирует UI.

string
id

Числовой ID записи wp2tutor_form (WP_Post->ID).

integer
token

Текущий md5-снимок (generate_token) — тот же алгоритм, что клиент шлёт в update*.

string
runner

Текущий UI-раннер из meta runner; если пусто — autoscroll.

string
Allowed values: autoscroll chat classic
shareUrl

PHP всегда отдаёт пустую строку.

string
definition

Раскодированный JSON post_content (не строка). Структура Tripetto: name, clusters, nodes и т.д.

object
key
additional properties
any
styles

Раскодированная meta styles. Пустая meta — [].

object
key
additional properties
any
l10n

Раскодированная meta l10n этой формы. Пустая meta — [].

object
key
additional properties
any
hooks

Раскодированная meta hooks. Пустая meta — [].

object
key
additional properties
any
trackers

Раскодированная meta trackers. Пустая meta — [].

object
key
additional properties
any
shortcode

Раскодированная meta shortcode. После create_new: fullPage, width, height, css.

object
key
additional properties
any
results

PHP всегда true.

boolean
entries

PHP всегда 1.

integer
tier

PHP всегда pro.

string
data

Base64 JSON-инвентаря переменных Tripetto (Variables::inventory()): ключи user:*, website:*, visitor:*, server:* с description/value. Пустой инвентарь — пустая строка.

string
open

Значение $_GET['open'] текущего запроса или null. В REST args не зарегистрировано; появляется в props, если query open передан.

string
nullable
language

PHP в get_runner_data всегда ставит ru_RU (не get_locale() и не query).

string
sectionsToSave

Уникальные непустые repeatSectionId из definition (рекурсивный обход). Нет таких ключей — [].

Array<string>
Example
{
"form_id": "wp2lms-form-42",
"translations_variable": "WP2TutorFormTranslations",
"locale_variable": "WP2TutorFormLocale",
"props": {
"element": "wp2lms-form-42",
"id": 42,
"token": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"runner": "autoscroll",
"shareUrl": "",
"definition": {
"name": "Форма",
"language": "ru_RU",
"clusters": []
},
"styles": {
"display": "inline",
"autoFocus": false
},
"l10n": {},
"hooks": [],
"trackers": [],
"shortcode": {
"fullPage": false,
"width": "",
"height": "",
"css": ""
},
"results": true,
"entries": 1,
"tier": "pro",
"data": "eyJ1c2VyOmxvZ2luIjp7ImRlc2NyaXB0aW9uIjoiLi4uIiwidmFsdWUiOiJhZG1pbiJ9fQ==",
"open": null,
"language": "ru_RU",
"sectionsToSave": []
}
}

Invalid_post_type — запись не CPT wp2tutor_form; invalid_id — то же в args id; rest_missing_callback_param — нет query id.

Media typeapplication/json
object
code

Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).

string
message

Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).

string
data

Обычно { status: HTTP-код } у WP_Error этих контроллеров.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}

Не аутентифицирован. WordPress REST: rest_not_logged_in / rest_forbidden. Cookie + X-WP-Nonce или Application Password.

Media typeapplication/json
object
code

Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).

string
message

Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).

string
data

Обычно { status: HTTP-код } у WP_Error этих контроллеров.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}

Invalid_permissions — нет права edit_post на запись формы. WordPress REST: rest_forbidden / rest_cookie_invalid_nonce.

Media typeapplication/json
object
code

Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).

string
message

Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).

string
data

Обычно { status: HTTP-код } у WP_Error этих контроллеров.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}

Post_not_found — нет записи с таким id; entity_not_found — FormPost не нашёл запись в сервисе.

Media typeapplication/json
object
code

Код WP_Error этой ручки (invalid_token, empty_token, invalid_json, invalid_runner, invalid_permissions, post_not_found, …).

string
message

Человекочитаемый текст из PHP (Invalid token: generated "…", expected "…", Token cannot be empty., Invalid JSON. и т.д.).

string
data

Обычно { status: HTTP-код } у WP_Error этих контроллеров.

object
Examplegenerated
{
"code": "example",
"message": "example",
"data": {}
}