метод REST scope: landing

landing.repo.register

Добавить пользовательский блок в репозиторий

Кто может выполнять: пользователь с правом «Просмотр» в разделе «Сайты и Магазины»

Описание

Метод landing.repo.register добавляет новый пользовательский блок в репозиторий.

Метод обновляет блок, если он уже существует с этим же кодом для текущего приложения. Если не существует — создает новый.

Параметры

code string необязательный

Уникальный код блока

fields object необязательный

Поля блока подробнее

manifest object необязательный

Манифест блока.

Структуру манифеста смотрите в методе landing.block.getManifestFile и в разделе Файл манифеста

Тип fields

NAME string необязательный

Название блока

CONTENT string необязательный

HTML-содержимое блока. Перед сохранением проходит sanitize-проверку

SECTIONS string необязательный

Категории блока строкой через запятую, например cover,about

PREVIEW string необязательный

URL превью блока

DESCRIPTION string необязательный

Описание блока

ACTIVE string необязательный

Активность блока (Y/N)

SITE_TEMPLATE_ID string необязательный

Привязка блока к шаблону сайта

RESET string необязательный

Если передать Y, метод регистрирует обновление добавленных на страницы блоков с кодом repo_<ID>

Примеры запроса

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "code": "myblockx",
    "fields": {
      "NAME": "Test block",
      "DESCRIPTION": "Just try!",
      "SECTIONS": "cover,about",
      "PREVIEW": "https://www.bitrix24.ru/images/b24_screen.png",
      "CONTENT": "<section class=\"landing-block\"><div class=\"container\">Test</div></section>"
    },
    "manifest": {
      "block": {"name": "Test block"},
      "nodes": {
        ".landing-block-node-text": {"name": "Text", "type": "text"}
      }
    }
  }' \
  "https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.repo.register.json"

Ответ

HTTP-статус: 200

{
    "result": 7,
    "time": {
        "start": 1774879194,
        "finish": 1774879194.526507,
        "duration": 0.5265069007873535,
        "processing": 0,
        "date_start": "2026-03-30T16:59:54+03:00",
        "date_finish": "2026-03-30T16:59:54+03:00",
        "operating_reset_at": 1774879794,
        "operating": 0
    }
}

Возвращаемые данные

result integer

Идентификатор добавленного или обновленного блока в репозитории

time time

Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error": "MANIFEST_INTERSECT_IMG",
    "error_description": "Редактируемый элемент манифеста \".landing-block-node-text\" не может иметь стилевой тип \"Изображение\". Измените стилевой тип."
}
Код Описание Значение
ACCESS_DENIED Недостаточно прав Пользователь не прошел общие проверки доступа
ERROR_ARGUMENT Некорректный тип аргумента Передан аргумент в неверном типе. Название аргумента возвращается в поле argument
MISSING_PARAMS Недостаточно параметров вызова Не передан обязательный параметр (code или fields)
REQUIRED_FIELD_NO_EXISTS Отсутствует обязательное поле Не передано одно из полей: NAME, CONTENT, SECTIONS, PREVIEW
MANIFEST_INTERSECT_IMG Конфликт типов в манифесте Для одного селектора задан node и стиль с типом background, block-default или block-border
CONTENT_IS_BAD Небезопасный контент блока Поле fields.CONTENT не прошло sanitize-проверку
PRESET_CONTENT_IS_BAD Небезопасный контент пресета Небезопасное содержимое в manifest.cards[*].presets[*]
UNSUPPORTED_BLOCK_TYPE Неподдерживаемый тип блока В коде метода проверяется ограничение на MAINPAGE в manifest.block.type
UNSUPPORTED_BLOCK_SUBTYPE Неподдерживаемый подтип блока В manifest.block.subtype передан widget
insufficient_scope Недостаточно scope у токена Токен не содержит scope landing
SYSTEM_ERROR Внутренняя ошибка Ошибка выполнения на стороне сервера

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.