• Быстрый старт
    • Демо
  • УСТРОЙСТВО
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Поля данных
      • Сборка
    • Данные
    • Приложения
      • Данные приложения
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
  • КЕЙСЫ
    • Загрузить HTML
    • Миграция
    • Перевод страницы
    • Чат с OpenAI
    • Справочник API
    • Общие правила
  • УСТРОЙСТВО
    • Страницы
    • Фреймы
      • Поля данных
      • Повторитель
      • Вставка фрейма и служебные блоки
      • Готовые фреймы
      • Сборка
    • Данные
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Кредиты
    • Автоматизация
    • Авторизация
      • Состояние API
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
      • Семантика
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
OnPress OnPress
Документация Справочник API Контакты
Войти Начать
Документация Справочник API Контакты Войти
    • Быстрый старт
    • Демо
  • УСТРОЙСТВО
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Поля данных
      • Сборка
    • Данные
    • Приложения
      • Данные приложения
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
  • КЕЙСЫ
    • Загрузить HTML
    • Миграция
    • Перевод страницы
    • Чат с OpenAI
    • Справочник API
    • Общие правила
  • УСТРОЙСТВО
    • Страницы
    • Фреймы
      • Поля данных
      • Повторитель
      • Вставка фрейма и служебные блоки
      • Готовые фреймы
      • Сборка
    • Данные
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Кредиты
    • Автоматизация
    • Авторизация
      • Состояние API
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
      • Семантика
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
Справочник API Устройство Фреймы
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Сборка

API ставит страницы в очередь пересборки и сообщает о ее ходе. Когда обновлять страницы — в гайде «Сборка».

info

API — https://onpress.pro/api/v2, SITE — id сайта, OP_TOKEN — токен API. Адреса запросов и общие параметры — в общих правилах API, права — в авторизации.

МетодПутьДействие
POST/frames/rebakeПересобрать страницы
GET/frames/rebakeПолучить состояние сборки

Пересобрать страницы

POST /frames/rebake

Ставит страницы в приоритетную очередь пересборки и отвечает до завершения сборки. Например, обновите страницы с фреймом site__header:

curl -s -X POST "$API/site/$SITE/frames/rebake" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"frames": ["site__header"]}'

Тело запроса

Передайте хотя бы один признак изменения или непустой список страниц.

ПолеТипОбязательноПо умолчаниюЧто пересобрать
pagesarray или booleanнетне задансписок — эти страницы: id или адреса от корня ("/pricing/"), не больше 1000 за вызов; true — страницы, которые выводят заголовки, адреса или порядок других страниц: меню, крошки, соседи, списки
framesarrayнетне заданстраницы, в которых стоят эти фреймы, в том числе вложенными (слаги или id)
datasetsarrayнетне заданстраницы, которые читают эти пользовательские данные
menusbooleanнетfalseстраницы с меню
languagesbooleanнетfalseстраницы многоязычного сайта
settingsbooleanнетfalseвсе страницы: от настроек сайта зависит каждая
allbooleanнетfalseвсе опубликованные страницы сайта, в том числе те, у которых копии еще нет

Ответ

{
  "success": true,
  "queued": 38,
  "remaining": 38,
  "pages": 39,
  "rebaked": { "status": "ok", "total": 3, "baked": 1, "not_needed": 2, "frames": ["…"], "stale": { "status": "ok", "marked": 38, "remaining": 38 } }
}
Поле ответаЧто это
queuedсколько страниц встало в приоритетную очередь этим вызовом
remainingсколько страниц сайта еще ждут сборки: в приоритете, устаревшие и собираемые сейчас
pagesсколько страниц сайта ведет очередь
not_foundадреса из pages, которым не нашлась страница
rebakedпересборка общих копий фреймов, ниже; есть, если в теле был повод кроме pages

Ошибки

КодHTTPКогдаЧто делать
nothing_to_rebake400тело пустоеназовите страницы, фреймы, данные или пришлите {"all": true}
too_many_pages400в pages больше 1000 элементовпришлите {"all": true} или разбейте список
rebuild_unavailable502очередь сайта не ответилаповторите через минуту
dry_run_not_supported400передан dry_runпрочитайте состояние через GET /frames/rebake; этот метод запускает сборку без пробного прогона

Получить состояние сборки

GET /frames/rebake

Возвращает число готовых страниц и задач в очереди. Параметров пути, строки запроса и тела нет. Например, проверьте очередь после запуска сборки:

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/frames/rebake"

Ответ

{ "success": true, "pages": 39, "fresh": 21, "queued": 17, "stale": 0, "building": 1, "remaining": 18 }
ПолеЧто это
pagesстраниц с готовым файлом или в очереди на первый
freshфайл соответствует данным
queuedждут сборки в приоритете: изменены сами, изменен их фрейм или вызвана пересборка
staleустарели из-за правки того, от чего зависят; посетитель получает прежний файл
buildingсобираются сейчас
remainingqueued + stale + building

Ошибки

КодHTTPКогдаЧто делать
rebuild_unavailable502очередь сайта не ответилаповторите запрос позже

Отчет сборки

Поле bake в ответе записи фрейма (POST /frames, PUT /frames/{ref}) — сборка фрейма сразу после записи.

ПолеЧто это
statusok — фрейм собран; skipped — сборку выключил "bake": false; failed — сборка не ответила или ответила ошибкой, причина в reason; unavailable — сборки на сайте нет, разметка сохранена
response.baked, response.frame_idсобран ли фрейм и его id
response.bytes, response.source_bytesразмер собранной разметки и исходника
response.renders_on_request, response.static_per_page, response.live_reasonфрейм зависит от страницы, общей копии у него нет
response.lang, response.default_langязык сборки и язык сайта по умолчанию
response.emptyповторитель с "empty":"frame" получил пустой список, фрейм вывел пустую строку
response.blocks, response.inserts, response.unknown_insertsсколько вызовов и блоков выполнено; имена onpress/…, которых платформа не знает
response.binds, response.bind_tagsсколько значений подставили поля данных и сколько тегов с data-op-bind
response.unresolvedполя данных без значения
response.repeatsчто вывел каждый повторитель: source, origin, items, binds, unresolved, window, поля описаны на странице «Повторитель»
response.framesвызванные фреймы: ref, frame_id, slug, printed, depth, bytes, binds, unresolved, warnings; невыведенный — с printed: false и reason: recursion, max_depth, max_inserts, empty, source_missing, item_name_empty
response.warningsпредупреждения сборки
response.pages, response.publishedстатические копии страниц этого фрейма: по странице id, url, published, bytes, reason

Неудачная сборка не отменяет запись: разметка уже сохранена, фрейм пересоберет повтор записи или POST /frames/rebake.

Обновление копий

Каждая публичная страница сайта лежит готовым файлом, и сервер отдает его без сборки. После правки страницы или ее фрейма API собирает две первые страницы в том же запросе, остальные ставит в приоритетную очередь, и сервер собирает их подряд, по одной, за секунды. Страницы, которые только зависят от правки (меню, заголовок страницы в меню, данные, соседи, родитель, переводы), API помечает устаревшими: такая страница отдается прежним файлом, а пересобирает ее первый заход посетителя или фоновая очередь. Первый посетитель устаревшей страницы получает прежний файл сразу, сборка идет после ответа, и следующий посетитель получает новый. Сборка одной страницы идет один раз, сколько бы запросов ни пришло одновременно. Фоновая очередь берет устаревшие страницы по одной и только когда сервер не загружен; повторные пометки одной страницы до ее сборки склеиваются. Новый файл заменяет прежний одной операцией, поэтому у адреса не бывает момента без файла. Страница ленты с разбивкой собирается файлами по адресам /…/page/2/, /…/page/3/ и дальше, адрес вида ?blog_page=2 отвечает 301 на /…/page/2/. На запросе собирается только то, что зависит от посетителя: закрытые страницы, закрытый сайт, вход, API. Фрейм с разметкой, которую нельзя собрать заранее, API не записывает и отвечает 422 frame_not_prebuildable с причиной в request_reasons.

Поле rebaked

Тем же полем rebaked отвечают записи фреймов, меню, наборов данных и страниц.

ПолеЧто это
statusok — все нужное собрано; partial — часть; failed — ничего; nothing — от изменения не зависит ни один фрейм, причина в reason
totalсколько зависимых фреймов найдено
baked, not_neededсколько общих копий фреймов собрано (фрейм, зависящий от языка, собирается по разу на язык) и скольким фреймам общая копия не нужна: их страницы собираются каждая своим файлом
framesпо записи на фрейм: id, slug, lang, because — почему фрейм попал в пересборку, bake — ok, not_needed или статус ошибки, detail, pages — страницы фрейма
pagesстраницы, в тексте которых стоит зависимый вызов или блок: id и because; поле есть, только если такие страницы нашлись
staleпометка зависимых страниц устаревшими: status, marked — сколько страниц помечено, remaining — сколько страниц сайта ждут сборки
cacheслужебный сброс страничного кэша, на сайтах с файлами страниц ничего не меняет
skipped, capсколько фреймов не вошло в вызов и предел вызова, 25
arrow_backНазад
Готовые фреймы
Далееarrow_forward
Поля данных
На этой странице
  • Пересобрать страницы
    • Тело запроса
      • Ответ
        • Ошибки
      • Получить состояние сборки
        • Ответ
          • Ошибки
        • Отчет сборки
          • Обновление копий
            • Поле rebaked
            1. Главная
            2. Docs
            3. Документация OnPress v2
            4. Справочник API
            5. Фреймы
            6. Сборка
            © 2026 OnPress ИП Зуев И.В. ИНН: 360408359441 info@onpress.pro Политика конфиденциальности Публичная оферта
            • Visa
            • Mastercard
            • Сбер Pay
            • T-Pay