Изменить страницу landing.landing.update

Scope: landing

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

Метод landing.landing.update обновляет параметры страницы.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

lid*
integer

Идентификатор страницы, которую нужно обновить.

Идентификатор страницы можно получить методом landing.landing.getList, а также из результата методов landing.landing.add, landing.landing.addByTemplate и landing.landing.copy

fields*
object

Набор полей страницы для обновления (подробное описание)

Параметр fields

Название
тип

Описание

TITLE
string

Название страницы

CODE
string

Символьный код страницы. Код не может содержать символ / и не должен быть в формате <буквы, цифры или _>_<число>_<число>, например code_12_34.

Если передать пустую строку и не указать поле FOLDER, метод вернет ошибку. Если поле FOLDER передано с любым значением, ошибки не будет

DESCRIPTION
string

Произвольное описание страницы

XML_ID
string

Внешний идентификатор страницы

SITE_ID
integer

Идентификатор сайта, к которому нужно привязать страницу. Если параметр не передан, используется текущий сайт страницы.

Если одновременно указать новый сайт и папку, папка будет проверяться не в новом, а в текущем сайте страницы. Для такого сценария лучше использовать landing.landing.move

SITEMAP
string

Флаг включения страницы в карту сайта. Поддерживаются значения Y и N. Любое другое значение будет сохранено как N

FOLDER
string

Признак папки. Поддерживаются значения Y и N. Любое другое значение будет сохранено как N

FOLDER_ID
integer

Идентификатор папки, в которую нужно поместить страницу. Папка должна находиться в текущем сайте страницы. Если передать 0, страница будет перенесена в корень сайта.

Идентификатор папки можно получить методом landing.site.getFolders

TPL_ID
integer

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

Идентификатор шаблона представления можно получить методом landing.template.getlist

DELETED
string

Управляет состоянием страницы в корзине. При передаче этого поля страница становится неактивной.

Y — страница помещается в корзину и становится неактивной.
N — страница восстанавливается из корзины, но остается неактивной, пока ее не опубликуют отдельно.

Для удаления и восстановления страницы лучше использовать методы landing.landing.markDelete и landing.landing.markUnDelete.

Если страница установлена главной в настройках сайта и в этом сайте есть другие неудаленные страницы, метод вернет ошибку CANT_DELETE_MAIN

DATE_PUBLIC
string

Дата и время публикации страницы.

Для изменения этого поля нужно право «публикация» на сайт. Изменение поля не публикует страницу, а только обновляет дату публикации.

Для публикации и снятия с публикации используйте методы landing.landing.publication и landing.landing.unpublic

ADDITIONAL_FIELDS
object

Дополнительные поля страницы. Доступные коды и значения описаны в статье Дополнительные поля страницы

Примеры кода

Как использовать примеры в документации

curl -X POST \
          -H "Content-Type: application/json" \
          -d '{
            "lid": 349,
            "fields": {
              "TITLE": "Весенняя акция 2026",
              "CODE": "spring-sale-2026",
              "DESCRIPTION": "Обновленное описание страницы акции",
              "XML_ID": "promo-2026-landing"
            }
          }' \
          "https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.landing.update.json"
        
curl -X POST \
          -H "Content-Type: application/json" \
          -d '{
            "lid": 349,
            "fields": {
              "TITLE": "Весенняя акция 2026",
              "CODE": "spring-sale-2026",
              "DESCRIPTION": "Обновленное описание страницы акции",
              "XML_ID": "promo-2026-landing"
            },
            "auth": "**put_access_token_here**"
          }' \
          "https://**put.your-domain-here**/rest/landing.landing.update.json"
        
try
        {
        	const response = await $b24.callMethod(
        		'landing.landing.update',
        		{
        			lid: 349,
        			fields: {
        				TITLE: 'Весенняя акция 2026',
        				CODE: 'spring-sale-2026',
        				DESCRIPTION: 'Обновленное описание страницы акции',
        				XML_ID: 'promo-2026-landing'
        			}
        		}
        	);
        
        	const result = response.getData().result;
        	console.info(result);
        }
        catch (error)
        {
        	console.error(error);
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'landing.landing.update',
                    [
                        'lid' => 349,
                        'fields' => [
                            'TITLE' => 'Весенняя акция 2026',
                            'CODE' => 'spring-sale-2026',
                            'DESCRIPTION' => 'Обновленное описание страницы акции',
                            'XML_ID' => 'promo-2026-landing',
                        ],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            echo 'Success: ' . var_export($result, true);
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error updating page: ' . $e->getMessage();
        }
        
BX24.callMethod(
            'landing.landing.update',
            {
                lid: 349,
                fields: {
                    TITLE: 'Весенняя акция 2026',
                    CODE: 'spring-sale-2026',
                    DESCRIPTION: 'Обновленное описание страницы акции',
                    XML_ID: 'promo-2026-landing'
                }
            },
            function(result)
            {
                if (result.error())
                {
                    console.error(result.error());
                }
                else
                {
                    console.info(result.data());
                }
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'landing.landing.update',
            [
                'lid' => 349,
                'fields' => [
                    'TITLE' => 'Весенняя акция 2026',
                    'CODE' => 'spring-sale-2026',
                    'DESCRIPTION' => 'Обновленное описание страницы акции',
                    'XML_ID' => 'promo-2026-landing',
                ],
            ]
        );
        
        if (isset($result['error']))
        {
            echo 'Ошибка: ' . $result['error_description'];
        }
        else
        {
            echo '<pre>';
            print_r($result['result']);
            echo '</pre>';
        }
        

Обработка ответа

HTTP-статус: 200

{
            "result": true,
            "time": {
                "start": 1773835076,
                "finish": 1773835076.29,
                "duration": 0.28999996185302734,
                "processing": 0,
                "date_start": "2026-03-18T14:57:56+03:00",
                "date_finish": "2026-03-18T14:57:56+03:00",
                "operating_reset_at": 1773835676,
                "operating": 0.1001579761505127
            }
        }
        

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

Название
тип

Описание

result
boolean

Результат обновления. При успехе возвращается true

time
time

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

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

HTTP-статус: 400

{
            "error": "MISSING_PARAMS",
            "error_description": "Недостаточно параметров вызова, пропущены: lid"
        }
        

Название
тип

Описание

error
string

Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания

error_description
error_description

Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде

Возможные коды ошибок

Код

Описание

MISSING_PARAMS

Не передан обязательный параметр lid или fields

ACCESS_DENIED

Недостаточно прав для изменения страницы или конкретного поля. Например, для fields.DELETED нужно право «удаление» сайта, а для fields.DATE_PUBLIC нужно право «публикация» сайта

SITE_NOT_FOUND

В fields.SITE_ID передан идентификатор несуществующего сайта

FOLDER_NOT_FOUND

В fields.FOLDER_ID передана папка, которая не относится к текущему сайту страницы или не существует

SLASH_IS_NOT_ALLOWED

В fields.CODE передан символ /

CANT_BE_EMPTY

В fields.CODE передана пустая строка '', и в том же запросе отсутствует ключ fields.FOLDER

WRONG_CODE_FORMAT

В fields.CODE передано значение в формате <буквы, цифры или _>_<число>_<число>, например code_12_34 или my_page_1_2

CANT_DELETE_MAIN

Нельзя пометить как удаленную главную страницу сайта, если в сайте есть другие неудаленные страницы

TYPE_ERROR

Ошибка типа данных в параметрах вызова метода

SYSTEM_ERROR

Внутренняя ошибка при выполнении метода

Статусы и коды системных ошибок

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение