Scope landing даёт программный доступ к конструктору сайтов Битрикс24. Через REST создают сайты и страницы, добавляют блоки, правят их контент и стили, а затем публикуют. Это база для тиражирования лендингов и внешних интеграций с конструктором.
Иерархия: сайт, страница, блок
Конструктор устроен трёхуровнево, и методы REST повторяют эту структуру:
- Сайт (
landing.site.*) — контейнер с доменом, языком и типом (PAGE— многостраничник,STORE— магазин); - Страница (
landing.landing.*) — отдельный лендинг внутри сайта; - Блок (
landing.block.*) — секция страницы с контентом, картами и стилями.
landing в «1С-Битрикс: Управление сайтом». Эндпоинты и структура полностью разные.Создание сайта и страницы
Начинают с сайта, затем добавляют в него страницы. Обязательные поля сайта — TITLE, CODE (URL-код) и TYPE:
landing.site.add(fields: {TITLE: "Промо 2026", CODE: "/promo2026/", TYPE: "PAGE"})
Ответ вернёт ID сайта. Далее добавляем страницу с указанием SITE_ID:
landing.landing.add(fields: {TITLE: "Главная", CODE: "index", SITE_ID: 42})
Читают структуру методами landing.site.getList и landing.landing.getList с параметрами filter, select и order.
Тип сайта задаётся один раз и влияет на доступные блоки и функциональность. Для интернет-магазина выбирают STORE — тогда доступны блоки каталога и корзины, связанные с товарами Битрикс24. Для промо и многостраничников достаточно PAGE. Поле CODE формирует адрес раздела внутри портала, а привязка к внешнему домену настраивается отдельно — до публикации сайт доступен по служебному адресу вида *.bitrix24site.ru.
Блоки: добавление и наполнение
Контент страницы — это блоки из репозитория. Их добавляют по коду шаблона и затем наполняют:
landing.landing.addBlock(lid: 108, fields: {CODE: "11.1_two_cols"})— добавить блок на страницу, получить егоID;landing.block.updateContent— заменить весь HTML блока целиком;landing.block.updateNodes— точечно поменять текст/картинку по селектору;landing.block.updateCards— управлять повторяющимися карточками (товары, отзывы);landing.block.updateStyles— задать CSS-классы и стили.
Такое разделение позволяет менять текст оффера, не трогая вёрстку, — удобно для генерации сотен персонализированных лендингов.
Коды блоков (CODE) берут из системного каталога блоков конструктора: это готовые секции вроде обложек, преимуществ, форм и тарифов. Порядок блоков на странице определяется порядком их добавления, а изменить его позже помогает landing.block.moveTo. Ненужный блок скрывают через landing.block.hide или удаляют совсем — landing.block.delete. Такой набор операций фактически повторяет действия дизайнера в UI, но выполняется программно.
Точечное обновление контента
Метод landing.block.updateNodes адресует элементы по CSS-селектору из карты блока. Пример замены заголовка и картинки:
landing.block.updateNodes(lid: 108, block: 350, data: {".landing-block-node-title": ["Скидка 20%"], ".landing-block-node-img": [{"src":"/upload/x.jpg","alt":"баннер"}]})
| Метод | Когда применять |
|---|---|
updateNodes | Поменять конкретный текст/картинку |
updateContent | Полностью переопределить HTML блока |
updateStyles | Изменить оформление и классы |
landing.block.getManifest возвращает описание доступных нод и карт.Массив значений в updateNodes позволяет за один вызов заполнить несколько однотипных элементов — например, три колонки преимуществ. Картинки передают объектом с полями src и alt, ссылки — с href и text. Именно updateNodes — рабочая лошадка генераторов лендингов: вёрстка остаётся неизменной и протестированной, а меняется только содержимое под конкретную акцию или клиента.
Публикация и домены
Изменения не видны посетителям, пока страница или сайт не опубликованы. За это отвечают отдельные методы:
landing.landing.publication(lid: 108)— опубликовать одну страницу;landing.site.publication(id: 42)— опубликовать весь сайт;landing.landing.unpublic— снять с публикации.
Для смены адреса используют поле DOMAIN_ID сайта, а список доступных доменов отдаёт landing.domain.getList. Копирование готовых страниц — landing.landing.copy.
Публикация — это не просто установка флага: конструктор пересобирает статику страницы и выкладывает её на отдачу. Поэтому после массовых правок через REST вызывать publication нужно один раз в конце, а не после каждого изменения ноды. Если страница ведёт себя не так, как ожидалось, сверьте черновик и опубликованную версию — REST по умолчанию правит именно черновик, и без публикации посетитель видит старое состояние.
Репозиторий блоков и шаблоны
Свои блоки регистрируют в репозитории портала — тогда они доступны и в UI, и через REST:
landing.repo.register— добавить пользовательский блок в репозиторий;landing.repo.getList— получить список доступных блоков;landing.template.getList— шаблоны страниц для быстрого старта.
Итог
Scope landing закрывает весь цикл работы с конструктором: создание сайта и страниц, добавление блоков, точечное или полное обновление контента и стилей, публикация и собственный репозиторий блоков. Это основа для интеграций, где лендинги генерируются автоматически — под акции, филиалы или партнёров.
Мы в B2Bsite разрабатываем такие решения: от генераторов персональных лендингов до связок конструктора с внешними каталогами и CRM. Если нужно масштабировать посадочные страницы без ручной сборки — спроектируем архитектуру и API-обвязку.
Частые вопросы
Как создать сайт через REST?
Методом landing.site.add с полями TITLE, CODE и TYPE (PAGE или STORE). В ответе придёт ID сайта.
Чем updateNodes отличается от updateContent?
updateNodes меняет отдельные ноды по селектору, а updateContent полностью переопределяет HTML блока.
Почему изменения не видны на сайте?
Нужно опубликовать: landing.landing.publication для страницы или landing.site.publication для всего сайта.
Где взять селекторы блока?
Из манифеста, который возвращает landing.block.getManifest — там перечислены ноды и карточки.
Можно ли добавить свой блок?
Да, через landing.repo.register блок появляется в репозитории и становится доступен в конструкторе и REST.
Как скопировать готовую страницу?
Методом landing.landing.copy — удобно тиражировать шаблонные лендинги.
Это тот же landing, что в 1С-Битрикс?
Нет. Это конструктор Битрикс24, отдельный от модуля landing в CMS «Управление сайтом».
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.