landing.landing.copy
Копировать страницу
Описание
Метод landing.landing.copy копирует страницу и возвращает идентификатор новой страницы. Метод может копировать в том числе страницу, помеченную как удаленная и находящуюся в корзине.
Параметры
scope
string
необязательный
Внутренний скоуп лендингов. Он не связан с REST-скоупом landing в названии метода.
Значение scope должно соответствовать типу сайта (подробное описание)
lid
integer
обязательный
Идентификатор исходной страницы.
Идентификатор страницы можно получить методом landing.landing.getList
toSiteId
integer
необязательный
Идентификатор целевого сайта. Если параметр не передавать или передать 0, копия будет создана в том же сайте, где находится исходная страница
Идентификатор сайта можно получить методом landing.site.getList
toFolderId
integer
необязательный
Идентификатор целевой папки. Если параметр передан, копия создается в указанной папке. Папка должна относиться к целевому сайту toSiteId.
Если параметр не передавать или передать 0, копия создается в корне целевого сайта. Если папка не найдена или относится к другому сайту, метод не возвращает ошибку и создает копию в корне целевого сайта.
Идентификатор папки можно получить методом landing.site.getFolders
skipSystem
boolean
необязательный
Флаг копирования системного признака страницы. По умолчанию false.
Если передать true, новая страница создается как не системная (SYS = N)
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"lid": 1688,
"toSiteId": 305,
"toFolderId": 95
}' \
"https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.landing.copy.json"
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"lid": 1688,
"toSiteId": 305,
"toFolderId": 95,
"auth": "**put_access_token_here**"
}' \
"https://**put.your-domain-here**/rest/landing.landing.copy.json"
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<number>({
method: 'landing.landing.copy',
params: {
lid: 1688,
toSiteId: 305,
toFolderId: 95,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('New page ID:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function copyLandingPage() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'landing.landing.copy',
params: {
lid: 1688,
toSiteId: 305,
toFolderId: 95,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('New page ID:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', copyLandingPage)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.landing.landing.copy(
lid=1688,
to_site_id=305,
to_folder_id=95,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'landing.landing.copy',
[
'lid' => 1688,
'toSiteId' => 305,
'toFolderId' => 95,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . var_export($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error copying landing page: ' . $e->getMessage();
}
BX24.callMethod(
'landing.landing.copy',
{
lid: 1688,
toSiteId: 305,
toFolderId: 95
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'landing.landing.copy',
[
'lid' => 1688,
'toSiteId' => 305,
'toFolderId' => 95,
]
);
if (isset($result['error']))
{
echo 'Ошибка: ' . $result['error_description'];
}
else
{
echo '<pre>';
print_r($result['result']);
echo '</pre>';
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "landing.landing.copy", b24.Params{
"lid": 1688,
"toSiteId": 305,
"toFolderId": 95,
})
if err != nil {
return fmt.Errorf("landing.landing.copy: %w", err)
}
var value b24.ID
if err := json.Unmarshal(res.Result, &value); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("результат:", value)
Ответ
HTTP-статус: 200
{
"result": 2237,
"time": {
"start": 1773706491,
"finish": 1773706492.91233,
"duration": 1.912329912185669,
"processing": 1,
"date_start": "2026-03-17T03:14:51+03:00",
"date_finish": "2026-03-17T03:14:52+03:00",
"operating_reset_at": 1773707091,
"operating": 0.9924919605255127
}
}
Возвращаемые данные
result
integer
Идентификатор созданной копии страницы
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "LANDING_NOT_EXIST",
"error_description": "Лендинг не найден"
}
| Код | Описание | Значение |
|---|---|---|
LANDING_NOT_EXIST |
Лендинг не найден. Если исходная страница не существует или недоступна текущему пользователю. Нахождение страницы в корзине само по себе не вызывает эту ошибку | |
SITE_NOT_FOUND |
Сайт не найден. Если toSiteId указывает на несуществующий сайт |
|
ACCESS_DENIED |
Доступ на создание страницы запрещен. Если у пользователя нет права «редактирование» сайта |

