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

Поля страницы

GET /v1/pages/fields

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

Примеры

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

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

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

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

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

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

const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)

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

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

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

Поля ответа

Объект data содержит карту fields (имя поля → { type, readonly, label }, у части полей есть ещё description, а у полей, которые могут прийти пустыми, — nullable), список batch с операциями массового режима, список доступных include и набор aggregatable полей для группировки в агрегации.

Поле Битрикс24 Тип RO Описание
id ID number да Идентификатор страницы
title TITLE string Название, до 255 символов
code CODE string Символьный код в URL. Без /, авто-генерация из title
siteId SITE_ID number Сайт-владелец. Источник: GET /v1/sites
active ACTIVE boolean да Опубликована ли страница. Битрикс24 не принимает поле ни на создании, ни на обновлении, а новая страница всегда создаётся неактивной. Публикация — POST /v1/pages/:id/publication, снятие с публикации — POST /v1/pages/:id/unpublish
description DESCRIPTION string | null Описание. null, если не задано
xmlId XML_ID string | null Внешний код. null, если не задан
deleted DELETED string да Признак корзины: "Y" / "N"
public PUBLIC string Публичность: "Y" / "N"
sys SYS string да Системная страница Битрикс24: "Y" / "N"
views VIEWS number да Счётчик просмотров
tplId TPL_ID number | null Идентификатор шаблона. null, если шаблон не используется
tplCode TPL_CODE string | null да Символьный код шаблона. null, если шаблон не используется
sitemap SITEMAP string Включать в карту сайта: "Y" / "N"
folder FOLDER string Является ли страница папкой-разделом: "Y" / "N"
folderId FOLDER_ID number | null Идентификатор папки-раздела сайта. null, если страница лежит в корне сайта
searchContent SEARCH_CONTENT string | null да Индексируемое содержимое страницы для поиска по сайту. null, пока страница не проиндексирована
version VERSION number да Версия внутренней структуры страницы
historyStep HISTORY_STEP number да Служебное поле истории изменений
modifiedById MODIFIED_BY_ID number да Последний редактор. Поиск: GET /v1/users
domainId DOMAIN_ID number да Идентификатор домена сайта
initiatorAppCode INITIATOR_APP_CODE string | null да Код приложения, создавшего страницу. null, если страницу создали в интерфейсе Битрикс24
rule RULE string | null да Служебное поле Битрикс24. Как правило, null
createdById CREATED_BY_ID number да Создатель. Поиск: GET /v1/users
dateCreate DATE_CREATE datetime да Дата создания. Строка в формате локали портала, не ISO 8601 — см. блок про формат ниже
dateModify DATE_MODIFY datetime да Дата последнего изменения. Формат тот же, что у dateCreate
datePublic DATE_PUBLIC datetime | null да Дата публикации, формат тот же, что у dateCreate. Приходит null, если у Битрикс24 нет даты публикации по странице, — это обычный случай даже для опубликованной страницы. Факт публикации определяйте по active или public

Поля, которые могут быть пустыми

У поля, которое Битрикс24 не всегда заполняет, в ответе эндпоинта стоит "nullable": true, а в таблице выше тип записан как … | null. Таких полей девять: description, xmlId, tplId, tplCode, folderId, searchContent, initiatorAppCode, rule, datePublic. Значение приходит как null — не как пустая строка и не как 0, — поэтому проверяйте его перед разбором. У остальных полей значение есть всегда.

Формат дат

Даты — строки в формате локали портала, НЕ ISO 8601. dateCreate, dateModify и datePublic Битрикс24 отдаёт строкой, и конкретный шаблон зависит от региональных настроек портала: на RU-локали это ДД.ММ.ГГГГ ЧЧ:ММ:СС (30.12.2021 12:30:52), на EN-локали — MM/DD/YYYY hh:mm:ss am/pm (12/30/2021 12:30:52 pm). Вайбкод отдаёт значение как есть, без приведения к ISO, одинаково в списке и в карточке — расхождения между GET /v1/pages и GET /v1/pages/:id нет. new Date(value) вернёт Invalid Date либо тихо перепутает день и месяц: не разбирайте дату по фиксированному шаблону и не доверяйте new Date(). Тот же формат нужен и в фильтре — см. Поиск страниц.

Доступные include

Эндпоинт возвращает список доступных include: site — сайт-владелец страницы. Подробнее: Связанные данные.

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

Каждое поле, помимо type и readonly, содержит label (короткое название) и description (пояснение) на русском языке. Заголовками запроса язык не переключается. У поля, которое может прийти пустым, дополнительно стоит nullable. В примере ниже description показан только у active — у остальных полей он опущен для краткости.

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "ID страницы" },
      "title": { "type": "string", "readonly": false, "label": "Название" },
      "siteId": { "type": "number", "readonly": false, "label": "ID сайта" },
      "active": {
        "type": "boolean",
        "readonly": true,
        "label": "Активна",
        "description": "Опубликована ли страница. Только для чтения: Битрикс24 не принимает поле ни на создании, ни на обновлении, а новая страница всегда создаётся неактивной. Публикация через POST /v1/pages/:id/publication и снятие с публикации через POST /v1/pages/:id/unpublish."
      },
      "xmlId": { "type": "string", "readonly": false, "nullable": true, "label": "Внешний идентификатор" },
      "datePublic": { "type": "datetime", "readonly": true, "nullable": true, "label": "Дата публикации" }
    },
    "relations": {
      "site": { "type": "one", "entity": "site", "includable": true }
    },
    "aggregatable": ["siteId", "active", "deleted", "public", "folderId", "tplId", "createdById", "modifiedById"],
    "batch": ["create", "update", "delete"],
    "include": ["site"]
  }
}

Показаны 6 из 27 полей. Полный список — в таблице выше.

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

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'landing' scope"
  }
}

Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа landing
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

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