#Список страниц

GET /v1/pages

Возвращает список страниц лендингов и интернет-магазинов с поддержкой фильтрации и автопагинации. По умолчанию возвращаются только не удалённые страницы.

#Параметры

Параметр Тип По умолч. Описание
limit number 50 Количество записей (до 5000). При limit > 50 Вайбкод запрашивает несколько страниц у Битрикс24 и собирает результат
select string Выборка полей: ?select=id,title,code,siteId,active. Без select ответ содержит полный набор полей страницы в camelCase (как в карточке)
filter object Фильтрация по ключевым полям страницы.
Синтаксис фильтрации. Пример: ?filter[siteId]=3. Булево active принимается как true/false, 1/0 или Y/N
scope string Внутренняя область лендингов. Допустимые значения: KNOWLEDGE (страницы базы знаний), GROUP (страницы рабочих групп), MAINPAGE (главные страницы). Без параметра возвращаются страницы обычных сайтов-лендингов. Принимается как ?scope=KNOWLEDGE или ?filter[scope]=KNOWLEDGE — обе формы дают одинаковый запрос к Битрикс24

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/pages?filter[siteId]=3&limit=10&select=id,title,code,siteId,active,dateCreate,dateModify" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/pages?filter[siteId]=3&limit=10&select=id,title,code,siteId,active,dateCreate,dateModify" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const params = new URLSearchParams({
  'filter[siteId]': '3',
  limit: '10',
  select: 'id,title,code,siteId,active,dateCreate,dateModify',
})

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

const { success, data, meta } = await res.json()
console.log(`Найдено ${meta.total} страниц`)

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

javascript
const params = new URLSearchParams({
  'filter[siteId]': '3',
  limit: '10',
  select: 'id,title,code,siteId,active,dateCreate,dateModify',
})

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

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

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив страниц
data[].id number Идентификатор страницы
data[].title string Название страницы
data[].code string Символьный код страницы
data[].siteId number Идентификатор сайта
data[].active boolean Активна ли страница
data[].description string | null Произвольное описание
data[].createdById number Идентификатор создавшего сотрудника
data[].dateCreate datetime Дата создания
data[].dateModify datetime Дата последнего изменения
meta.total number Общее количество записей, соответствующих фильтру
meta.hasMore boolean Есть ли ещё записи за пределами limit

URL любой страницы из массива data строится из её id и siteId:

https://<portal>.bitrix24.ru/sites/site/<siteId>/view/<id>/

<siteId> — ID сайта, которому принадлежит страница (поле siteId каждого элемента). <portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 9,
      "title": "Тест переноса страниц",
      "code": "change1",
      "siteId": 3,
      "active": true,
      "description": null,
      "createdById": 1,
      "dateCreate": "26.05.2020 17:24:02",
      "dateModify": "10.10.2022 15:25:30"
    },
    {
      "id": 7,
      "title": "Test page",
      "code": "test",
      "siteId": 3,
      "active": true,
      "description": null,
      "createdById": 1,
      "dateCreate": "25.05.2020 17:34:17",
      "dateModify": "10.10.2022 15:25:30"
    }
  ],
  "meta": {
    "total": 13,
    "hasMore": true
  }
}

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

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

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

#Ошибки

HTTP Код Описание
422 BITRIX_ERROR Передан параметр, не поддерживаемый Битрикс24. offset приводит к 422 Unknown parameter: start (Битрикс24 называет смещение start)
403 SCOPE_DENIED API-ключ не имеет скоупа landing
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

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

Постраничный переход через offset не работает. Метод получения списка не принимает параметр смещения. Передача offset приводит к ошибке BITRIX_ERROR: Unknown parameter: start. Для больших выборок используйте limit > 50 — Вайбкод сам запрашивает у Битрикс24 несколько страниц и собирает результат в одном ответе.

Сортировка не применяется. Параметр order принимается без ошибки, но порядок результата не меняется — выборка всегда возвращается в порядке возрастания идентификатора.

База знаний и другие внутренние области. Параметр scope переключает источник: KNOWLEDGE — страницы базы знаний, GROUP — страницы рабочих групп, MAINPAGE — главные страницы. Без параметра возвращаются страницы обычных сайтов-лендингов (источник по умолчанию). Пример: GET /v1/pages?scope=KNOWLEDGE возвращает страницы базы знаний.

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