метод REST scope: landing

landing.block.addcard

Добавить карточку блока

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

Описание

Метод landing.block.addcard добавляет карточку в блок в черновике страницы.

Метод работает с карточками, описанными в ключе cards манифеста блока. Если страница уже опубликована, изменение станет видно посетителям после повторной публикации через интерфейс или методом landing.landing.publication.

Параметры

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

Внутренний скоуп лендингов. Он не связан с REST-скоупом landing в названии метода.

Значение scope должно соответствовать типу сайта (подробное описание)

lid integer обязательный

Идентификатор страницы.

Идентификатор страницы можно получить методом landing.landing.getlist

block integer обязательный

Идентификатор блока в версии страницы для редактирования.

Идентификатор блока можно получить методом landing.block.getlist с параметром params.edit_mode = 1

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

Селектор карточки из ключа cards манифеста блока

После селектора можно указать индекс через @<индекс>. Например, @0 добавит новую карточку после первой найденной, а @2 — после третьей.

Если индекс указан, метод вставляет новую карточку после выбранной. Если эта карточка последняя, новая карточка появится в конце контейнера. Если индекс не указан, метод берет первую карточку по этому селектору и вставляет новую карточку в начало контейнера.

После добавления карточки индексы меняются. Если вы добавляете несколько карточек подряд, перед каждым следующим вызовом указывайте в selector уже новый индекс.

Если селектор отсутствует в манифесте, в блоке нет карточек по этому селектору или указан несуществующий индекс, метод вернет ошибку.

Подробнее про селекторы карточек и структуру манифеста читайте в статье Манифест блока

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

HTML новой карточки.

Если нужно взять существующую разметку блока за основу, получите HTML методом landing.block.getcontent и используйте структуру карточки из текущего блока.

Если передать пустую строку или после фильтрации содержимое станет пустым, метод сработает как landing.block.clonecard и создаст копию карточки, указанной в selector

preventHistory boolean необязательный

Не добавлять действие в историю изменений страницы.

Возможные значения:
true - не сохранять действие в истории,
false - сохранить действие в истории.

По умолчанию - false

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

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "lid": 351,
    "block": 6428,
    "selector": ".landing-block-node-menu-list-item@0",
    "content": "<li class=\"landing-block-node-menu-list-item nav-item\"><a href=\"#services\" class=\"landing-block-node-menu-list-item-link nav-link\">Услуги</a></li>"
  }' \
  "https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.block.addcard.json"

Ответ

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1774524862,
        "finish": 1774524862.61318,
        "duration": 0.6131799221038818,
        "processing": 0,
        "date_start": "2026-03-26T14:34:22+03:00",
        "date_finish": "2026-03-26T14:34:22+03:00",
        "operating_reset_at": 1774525462,
        "operating": 0
    }
}

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

result boolean

Результат добавления карточки. При успешном выполнении возвращается true, идентификатор новой карточки в ответ не приходит

time time

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

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

HTTP-статус: 400

{
    "error": "CARD_NOT_FOUND",
    "error_description": "Карточка блока не найдена"
}
Код Описание Значение
MISSING_PARAMS Не передан обязательный параметр lid, block, selector или content
LANDING_NOT_EXIST Страница с идентификатором lid не найдена или недоступна текущему пользователю
ACCESS_DENIED У пользователя нет прав на редактирование сайта
BLOCK_NOT_FOUND Блок с идентификатором block не найден на странице lid или недоступен в черновике страницы
CARD_NOT_FOUND В блоке не найдена карточка по селектору selector

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

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