landing.block.getlist
Получить список блоков страницы
Описание
Метод landing.block.getlist возвращает список блоков выбранной страницы.
Параметры
scope
string
необязательный
Внутренний скоуп лендингов. Он не связан с REST-скоупом landing в названии метода.
Значение scope должно соответствовать типу сайта (подробное описание)
lid
integer
обязательный
Идентификатор страницы или массив идентификаторов страниц.
Идентификаторы страниц можно получить методом landing.landing.getList
Если lid передан массивом, метод объединяет блоки всех указанных страниц в один список. В каждом элементе ответа есть поле lid, по которому можно определить страницу-источник.
Если передан массив и хотя бы одна страница не найдена или недоступна, весь вызов завершается ошибкой
params
object
необязательный
Дополнительные параметры чтения списка (подробное описание)
Параметр params
edit_mode
boolean
необязательный
Если значение приводится к true, метод читает черновик страницы вместо опубликованной версии.
По умолчанию — false. Без этого параметра метод читает только опубликованные блоки
deleted
boolean
необязательный
Если значение приводится к true, метод возвращает только блоки, помеченные как удаленные.
По умолчанию — false. Параметр влияет только на выборку блоков. Поиск удаленной страницы он не включает, поэтому для страницы из корзины метод вернет ошибку.
Чтобы получить удаленные блоки, передайте deleted: true вместе с edit_mode: true. Параметр deleted сам по себе не переключает метод на черновик.
Если не указать edit_mode, метод будет искать блоки только в опубликованной версии страницы
get_content
boolean
необязательный
Если передать true, метод добавит в каждый элемент результата поля content, css и js. По умолчанию — false.
Поле content содержит уже подготовленный HTML блока вместе с системным контейнером блока, а не исходное сохраненное содержимое.
Если edit_mode выключен, метод вернет HTML опубликованной версии блока.
Если edit_mode включен, метод вернет HTML черновика
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"lid": 4858,
"params": {
"edit_mode": true,
"get_content": true
}
}' \
"https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.block.getlist.json"
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"lid": 4858,
"params": {
"edit_mode": true,
"get_content": true
},
"auth": "**put_access_token_here**"
}' \
"https://**put.your-domain-here**/rest/landing.block.getlist.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
// Shape of each LandingBlock returned in result[]
type LandingBlock = {
id: number
lid: number
code: string
name: string
active: boolean
meta: Record<string, string>
content?: string
css?: string[]
js?: string[]
}
try {
// landing.block.getlist returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<LandingBlock[]>({
method: 'landing.block.getlist',
params: {
lid: 4858,
params: {
edit_mode: true,
get_content: true,
},
start: 0,
},
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('Blocks on page:', result.length, 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 getBlockList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// landing.block.getlist returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'landing.block.getlist',
params: {
lid: 4858,
params: {
edit_mode: true,
get_content: true,
},
start: 0,
},
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('Blocks on page:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getBlockList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.landing.block.getlist(
lid=4858,
params={
"edit_mode": True,
"get_content": True,
},
).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.block.getlist',
[
'lid' => 4858,
'params' => [
'edit_mode' => true,
'get_content' => true,
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . var_export($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting block list: ' . $e->getMessage();
}
BX24.callMethod(
'landing.block.getlist',
{
lid: 4858,
params: {
edit_mode: true,
get_content: true
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'landing.block.getlist',
[
'lid' => 4858,
'params' => [
'edit_mode' => true,
'get_content' => true,
],
]
);
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.block.getlist", b24.Params{
"lid": 4858,
"params": b24.Params{
"edit_mode": true,
"get_content": true,
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("landing.block.getlist: %w", err)
}
var items []struct {
ID b24.ID `json:"id"`
Lid int `json:"lid"`
Code string `json:"code"`
Name string `json:"name"`
Active bool `json:"active"`
Content string `json:"content"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.Lid)
}
Ответ
HTTP-статус: 200
{
"result": [
{
"id": 28181,
"lid": 2215,
"code": "0.menu_02",
"name": "Меню с логотипом слева и пунктами меню справа",
"active": true,
"meta": {
"LID": "2215",
"FAVORITE_META": "Array",
"CREATED_BY_ID": "779",
"DATE_CREATE": "09/13/2024 10:28:08 am",
"MODIFIED_BY_ID": "1295",
"DATE_MODIFY": "03/26/2026 12:21:48 pm",
"SITE_TYPE": "PAGE",
"LANDING_TITLE": "",
"LANDING_TPL_CODE": "bitrix.krayt_otdykh_na_prirode",
"SITE_TPL_CODE": "empty",
"XML_ID": "",
"DESIGNER_MODE": ""
},
"content": "<div id=\"b2884\" class=\"block-wrapper block-0-menu-02\"><header class=\"landing-block u-header u-header--float u-header--sticky\">...</header></div>",
"css": [],
"js": []
}
],
"time": {
"start": 1774521039,
"finish": 1774521039.570632,
"duration": 0.5706319808959961,
"processing": 0,
"date_start": "2026-03-26T13:30:39+03:00",
"date_finish": "2026-03-26T13:30:39+03:00",
"operating_reset_at": 1774521639,
"operating": 0.48987889289855957
}
}
Возвращаемые данные
result
object[]
Список блоков (подробное описание).
Метод может вернуть result: [] без ошибки в трех случаях.
- На странице нет блоков для выбранного режима чтения.
- Страница еще не публиковалась и
params.edit_modeне включен. - Фильтр
deletedне нашел подходящих блоков
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "LANDING_NOT_EXIST",
"error_description": "Лендинг не найден"
}
| Код | Описание | Значение |
|---|---|---|
MISSING_PARAMS |
Не передан обязательный верхнеуровневый параметр lid |
|
LANDING_NOT_EXIST |
Страница не найдена, удалена или недоступна текущему пользователю | |
ACCESS_DENIED |
У пользователя нет права на просмотр сайтов | |
TYPE_ERROR |
Внутренняя ошибка несоответствия типов при вызове метода | |
SYSTEM_ERROR |
Внутренняя ошибка при выполнении метода |

