• Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
OnPress OnPress
  • Документация
  • Контакты
Войти
    • Docs
        • Документация OnPress v2
            • Документация OnPress v2
              • Как устроена платформа
              • Быстрый старт
              • Доступ, роли и выбор сайта
                • Страницы
                  • Frontmatter: все поля
                  • Синтаксис markdown
                  • Языки и переводы страниц
                • Фреймы
                  • Вставки onpress/
                  • Бинды data-op-bind
                  • Сборка страницы и статическая копия
                • Готовые фреймы
                  • Фрейм assistant: страница с чатом ассистента
                  • Фрейм outline: оглавление в тексте
                  • Фрейм faq: вопросы из текста страницы
                  • Фрейм article: статья
                  • Фрейм docs: документация
                  • Фрейм site__header: шапка сайта
                  • Фрейм site__footer: подвал сайта
                  • Фрейм article__faq: вопросы из набора
                  • Фрейм landing: лендинг ассистента
                  • Фрейм assistant__chat: чат обычной разметкой
                  • Фрейм site__404: страница «не найдено»
                  • Фрейм news: лента новостей
                  • Фрейм news__category: рубрика новостей
                  • Фрейм news__post: новость
                  • Фрейм news__more: читайте ещё
                  • Фрейм news__share: поделиться
                  • Фрейм author__page: страница автора
                  • Фрейм author__byline: подпись автора
                  • Фрейм author__card: карточка автора
                  • Фрейм author__avatar: аватар автора
                  • Фрейм author__socials: соцсети автора
                  • Фрейм author__head: объявление набора автора
                  • Фрейм home: главная-документ
                  • Фрейм pricing: тарифы
                • Наборы данных и системные источники
                  • Повторитель onpress/repeat
              • Стили и оформление
              • Меню
              • Сайдбар документации
              • Языки сайта
              • Настройки, главная и кэш
              • SEO
              • Медиа
              • Сайты и домены
              • Пользователи и профиль
              • Дашборд и вход
                • Рецепты
                  • Сайт с нуля
                  • Раздел документации
                  • Лендинг из конструктора
                  • FAQ на странице
                  • Свой фрейм из готового
                  • Многоязычный сайт
                  • Поменять меню
                  • Перенести страницу
                  • Картинки в статье
                  • Список из данных
                  • Сменить оформление
                • Справочник API
                  • Справочник: страницы
                  • Справочник: переводы
                  • Справочник: фреймы
                  • Справочник: данные
                  • Справочник: меню
                  • Справочник: сайдбар документации
                  • Справочник: стили
                  • Справочник: настройки, главная, кэш
                  • Справочник: языки
                  • Справочник: SEO
                  • Справочник: медиа
                  • Справочник: сайты
                  • Справочник: пользователи и профиль
                  • Справочник: вход и служебное
                • Ошибки и частые проблемы
                  • Коды ошибок
        • Старая документация v1
            • Старая документация v1
              • Начало
              • Привязка домена
              • Виджеты
              • Структура ссылок
              • Connector.js
              • Шапка
              • Подвал
              • Мультиязычность
              • Меню
              • Как настроить стили сайта через Design
              • Schema разметка
              • Open Graph
              • Аналитика
              • FAQ
              • Robots.txt
              • Sitemap
Справочник API
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Справочник: данные

Ручки сайта: $API/site/$SITE/data…. Как устроены наборы и источники — наборы данных, повторитель — onpress/repeat.

GET /data

Наборы сайта (без системных источников).

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "home_url": "https://test.onpress.pro",
  "registry_option": "onpress_datasets",
  "option_prefix": "onpress_dataset_",
  "resolution_order": ["system", "site", "inline"],
  "system_sources": "/data/sources",
  "total": 4,
  "datasets": [
    {
      "name": "docs_primer",
      "lang": null,
      "origin": "site",
      "contextual": false,
      "items": 3,
      "bytes": 243,
      "sha256": "…",
      "fields": [ { "field": "id", "types": ["number"], "in_items": 3 }, { "field": "q", "types": ["string"], "in_items": 3 }, { "field": "a", "types": ["string"], "in_items": 3 } ],
      "created_at_gmt": "2026-09-12 20:39:03",
      "updated_at_gmt": "2026-09-12 20:39:05",
      "updated_by": 1,
      "option": "onpress_dataset_docs_primer"
    },
    { "name": "docs_primer", "lang": "ru", "items": 1, "option": "onpress_dataset_docs_primer__ru", "…": "…" }
  ]
}

Каждый языковой вариант — отдельная запись с lang. site_id приходит и на устаревшем адресе (?blog_id=).

GET /data/sources

Системные источники: имя, контекстный ли, пишется ли и как.

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/sources" | jq '{total, writable, sources: [.sources[] | {name, contextual, writable}]}'

Ответ: total (14), writable — имена записываемых, sources[] с name, origin, contextual, description, writable и либо write (method, at, forwards_to, changes, body, also), либо readonly_because. Плюс пояснения note, readonly_note, reserved_note, contextual_note.

GET /data/{name}

Содержимое набора или системного источника — в одной форме.

ПараметрСмысл
langязык: вариант набора, меню языка
pageтекущая страница: id, слаг или путь со слешами; нужна контекстным источникам и page.* в match
matchфильтр JSON-строкой, например {"page":"page.slug"}
limit, offsetокно, как у повторителя
pagedзначение page.paged для окна
statusesстатусы для pages.* через запятую; по умолчанию publish
themeчитать области меню другой темы
curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/docs-proba-faq?lang=ru"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "name": "docs-proba-faq",
  "origin": "site",
  "contextual": false,
  "option": "onpress_dataset_docs-proba-faq__ru",
  "lang": "ru",
  "fields": [ { "field": "id", "types": ["number"], "in_items": 1 }, "…" ],
  "updated_at_gmt": "2026-09-25 20:21:32",
  "total": 1,
  "items": [ { "id": 1, "page": "proba-api", "q": "Сколько стоит?", "a": "Бесплатно" } ]
}
ПолеКогдаСмысл
originвсегдаsystem, site или inline
contextual, page_id, needs_pageвсегдазависит ли от страницы; какая страница взята; нужна ли страница, а её не дали
lang, lang_fallbackнаборывариант, который отдан; почему не тот, что просили
writable, write / readonly_because, descriptionсистемныеможно ли и как менять
metaменю{menu_id, invalid_items}
same_name_datasetпустое меню и есть набор с таким же коротким именемподсказка
match, match_total, match_unresolved, match_noteс matchво что разрешились токены; сколько было до фильтра
window, window_totalс limit/offsetприменённое окно; сколько было до среза
registry_staleреестр отстал от содержимогоцифры реестра и настоящие
total, itemsвсегдарезультат

Отказы: 404 source_not_found, 404 page_not_found (для page), 400 match_token_unsupported (supported), 422 unknown_language.

PUT /data/{name}

Положить набор целиком.

ПолеСмысл
itemsмассив элементов (синоним data); объект оборачивается в список из одного
langзаписать вариант этого языка (также в строке запроса)
dry_runпроверить без записи
curl -s -X PUT "$API/site/$SITE/data/docs-proba-faq" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"items": [{"id": 1, "page": "proba-api", "q": "Сколько стоит?", "a": "Бесплатно"}]}'

Ответ: applied, updated (набор уже был), dataset (name, lang, items, bytes, sha256, fields, даты, option), warnings, rebaked.

Для системного имени PUT работает только у menu.* (пункты меню в области) и site.front_page (главная); тело — как у ручки, куда уходит запись (наборы данных). Ответ — ответ той ручки плюс source, wrote, rebaked.

Отказы: 400 bad_dataset_items (нет items), 400 bad_dataset_name, 409 reserved_dataset_name, 413 dataset_too_large, 422 unknown_language; для системных — 404 menu_not_assigned, 400 bad_menu_items, 405 wrong_method_for_source, 409 computed_source.

PATCH /data/{name}

Точечная правка набора.

ПолеСмысл
opsмассив операций; одну можно прислать без обёртки
langвариант языка

Операции: set (index или match, item), merge (index или match, fields), append и prepend (item или items), remove (index или match), move (index или match, to).

curl -s -X PATCH "$API/site/$SITE/data/docs-proba-faq" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"ops": [{"op": "merge", "match": {"id": 2}, "fields": {"a": "Нет, не нужна"}}, {"op": "append", "item": {"id": 4, "q": "Есть API?", "a": "Да"}}]}'

Ответ: dataset, applied — по записи на операцию ({op, index, fields}, {op, added, total}, {op, from, to}, {op, index, total}), total, rebaked. Операции — в одной транзакции.

Для системного имени PATCH работает у site.settings (настройки сайта) и site.languages (один язык или default).

Отказы: 400 nothing_to_update, 400 bad_patch_op, 400 item_ref_required, 404 item_not_found, 404 dataset_not_found; для системных — 400 field_belongs_elsewhere, 400 whole_list_not_accepted, 400 lang_required, 400 nothing_to_change, 405 wrong_method_for_source, 409 computed_source.

DELETE /data/{name}

Удалить набор или вариант языка (lang в теле или строке запроса).

curl -s -X DELETE "$API/site/$SITE/data/docs-proba-faq?lang=ru" -H "Authorization: Bearer $OP_TOKEN"
{ "success": true, "site_id": "x9HTLHECq", "deleted": { "name": "docs-proba-faq", "lang": "ru", "items": 1, "option": "onpress_dataset_docs-proba-faq__ru" }, "rebaked": { "status": "nothing", "total": 0, "baked": 0, "frames": [], "reason": "no frame depends on this change" } }

Отказы: 404 dataset_not_found, 409 system_source_not_deletable.

POST /data/resolve

Разрешить источник так, как это сделает повторитель. По смыслу — чтение.

ПолеСмысл
sourceимя (синоним name); без него проверяется items
itemsсписок в атрибуте
pageстраница (синоним page_id)
langязык варианта
matchобъект или JSON-строка
limit, offset, pagedокно
statusesстатусы для pages.*
themeтема для областей меню
curl -s -X POST "$API/site/$SITE/data/resolve" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"source": "docs-proba-faq", "page": "proba-api", "match": {"page": "page.slug"}}'
{
  "success": true,
  "site_id": "x9HTLHECq",
  "name": "docs-proba-faq",
  "origin": "site",
  "contextual": true,
  "option": "onpress_dataset_docs-proba-faq",
  "lang": null,
  "lang_fallback": "there is no dataset \"docs-proba-faq\" for language \"en\", the shared one was returned",
  "total": 2,
  "items": [ { "id": 1, "page": "proba-api", "q": "Сколько стоит?", "a": "Бесплатно" }, { "id": 2, "page": "proba-api", "q": "Нужна карта?", "a": "Нет" } ],
  "page_id": 6428,
  "match": { "page": "proba-api" },
  "match_total": 3
}

Ответ той же формы, что у GET /data/{name}. Токены, которые сервис считает в match: page.id, page.slug, page.title, page.status, page.type, page.parent_id, page.paged, site.lang, site.blog_id, raw:. Отказы: 404 source_not_found, 400 match_token_unsupported, 404 page_not_found.

arrow_backНазад
Справочник: фреймы
Далееarrow_forward
Справочник: меню
На этой странице
  • GET /data
    • GET /data/sources
      • GET /data/{name}
        • PUT /data/{name}
          • PATCH /data/{name}
            • DELETE /data/{name}
              • POST /data/resolve
              OnPress
              OnPress
              ИП Зуев И.В. ИНН: 360408359441
              © 2026
              политика конфиденциальности публичная оферта
              • visa
              • mastercard
              • sber
              • tpay