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

Области шаблона сайта

Привязывает страницы к областям раскладки сайта — шапке, подвалу, боковой колонке — читает привязки, меняет их по одной и снимает все сразу. Сами страницы при снятии привязки остаются на сайте.

Битрикс24 API: landing.template.getSiteRef, landing.template.setSiteRef Скоуп: landing

Получить области шаблона сайта

GET /v1/sites/:id/template-areas

Возвращает привязки областей раскладки сайта к страницам: какая страница подставляется в шапку, подвал или боковую колонку. Области страниц сюда не входят, их читает отдельный метод.

Параметры

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

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites/225/template-areas" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/sites/225/template-areas" \
  -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/225/template-areas', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
for (const [area, pageId] of Object.entries(data.areas)) {
  console.log(`Область ${area} → страница ${pageId}`)
}

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

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

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.areas object Привязки областей. Ключ — номер области строкой в десятичной записи, значение — ID страницы. Получить страницу: GET /v1/pages/:id. У сайта без привязок — пустой объект {}

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

JSON
{
  "success": true,
  "data": {
    "areas": {
      "1": 2383,
      "2": 2385
    }
  }
}

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

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

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

Ошибки

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

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

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

  • Области страниц в ответ не подмешиваются. Ответ содержит только привязки самого сайта. Привязки страницы читает GET /v1/pages/:id/template-areas: у страницы, которой не задавали своих областей, там пустой объект, даже когда у её сайта области есть.

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