Для AI-агентов: markdown этой страницы — /docs-content/entities/sites/system-pages.md индекс документации — /llms.txt

Системные страницы

Назначает страницы сайта на системные роли — корзину, оформление заказа, личный кабинет и другие — читает назначения, отдаёт адрес страницы по роли и снимает роли по одной или все сразу. Сами страницы при снятии роли остаются на сайте.

Битрикс24 API: landing.syspage.get, landing.syspage.set, landing.syspage.getSpecialPage, landing.syspage.deleteForSite Скоуп: landing

Список системных страниц сайта

GET /v1/sites/:id/system-pages

Возвращает страницы сайта, назначенные на системные роли: корзину, оформление заказа, личный кабинет и другие.

Параметры

Параметр Тип Обяз. Описание
id (path) number да ID сайта. Список: GET /v1/sites
active (query) boolean нет true — только опубликованные страницы, которые не лежат в корзине. Привязки остальных страниц при этом сохраняются, но не приходят в ответе. По умолчанию false: приходят все привязки
scope (query) string нет Внутренняя область лендингов: KNOWLEDGE / GROUP / MAINPAGE. Указывайте, если сайт принадлежит соответствующей области. Иначе возвращается 404 ENTITY_NOT_FOUND. Для обычного сайта не передаётся

Других query-параметров метод не принимает: например, limit отвечает 400 INVALID_PARAMS. Пагинации нет, у сайта не больше восьми привязок — по одной на каждую роль.

Примеры

curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites/223/system-pages" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites/223/system-pages" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites/223/system-pages', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
const cart = data.find((row) => row.type === 'cart')
console.log('Корзина:', cart ? cart.pageId : 'не назначена')

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/sites/223/system-pages', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Привязки сайта. У сайта без привязок — пустой массив
data[].type string Роль: mainpage, catalog, personal, cart, order, payment, compare, feedback. Что значит каждая — Системные страницы
data[].pageId number ID страницы, назначенной на роль. Получить страницу: GET /v1/pages/:id
data[].title string Название страницы
data[].deleted boolean Страница лежит в корзине
data[].active boolean Страница опубликована

Пример ответа

JSON
{
  "success": true,
  "data": [
    {
      "type": "cart",
      "pageId": 2371,
      "title": "Docs test cart",
      "deleted": false,
      "active": false
    },
    {
      "type": "personal",
      "pageId": 2373,
      "title": "Docs test personal",
      "deleted": false,
      "active": false
    }
  ]
}

Пример ответа при ошибке

404 — сайт с таким ID не найден:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Entity not found or not visible"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS id must be a positive safe integer — id не является положительным целым числом
400 INVALID_PARAMS active must be true or false — active не равен true или false
400 INVALID_PARAMS Unsupported query parameter — передан query-параметр, которого метод не принимает
400 INVALID_SCOPE scope не равен KNOWLEDGE, GROUP или MAINPAGE
404 ENTITY_NOT_FOUND Сайт с таким ID не найден, недоступен пользователю или лежит в другой области: передан не тот scope
409 LANDING_MODULE_NOT_ENABLED Модуль «Сайты» недоступен на портале. Попросите администратора портала включить его — пока модуль выключен, повтор запроса вернёт тот же отказ
422 BITRIX_ERROR Битрикс24 вернул список привязок в неожиданном виде: Bitrix24 returned invalid system pages
403 SCOPE_DENIED API-ключ не имеет скоупа landing
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Корзина не снимает привязку. Страница, перенесённая в корзину, остаётся на своей роли и приходит с deleted: true и active: false. После восстановления из корзины привязка та же. Снять роль можно только явно — DELETE /v1/sites/:id/system-pages/:type.

Смотрите также