landing.site.getList
Получить список сайтов
Описание
Метод landing.site.getList получает список сайтов по параметрам выборки.
По умолчанию в выборку попадают только сайты с DELETED = "N". Чтобы получить удаленные сайты, передайте в фильтре DELETED или =DELETED
Параметры
scope
string
необязательный
Внутренний скоуп лендингов. Он не связан с REST-скоупом landing в названии метода.
Для GROUP, KNOWLEDGE и MAINPAGE передают соответствующий scope (подробное описание)
params
object
необязательный
Параметры выборки сайтов (подробное описание)
Параметр params
select
string[]
необязательный
Список полей для выборки из базовых полей сайта. Если параметр не передан или передан не массив, используется ["*"]. Метод всегда добавляет в выборку ID и TYPE
filter
object
необязательный
Фильтр по полям из базовых полей сайта. Если параметр не передан или передан не массив, используется пустой фильтр {}.
Если в параметре TYPE или =TYPE указано значение STORE, публичный метод преобразует его в ["STORE", "SMN"].
Точная фильтрация по типу работает только для одного значения, которое разрешено в текущем внутреннем scope. Если передан массив или значение, недоступное в текущем scope, метод подставит список разрешенных типов
order
object
необязательный
Сортировка в формате {"FIELD": "ASC DESC"}. Если параметр не передан, специальная сортировка не применяется
group
array
необязательный
Группировка в формате ORM. Если передан не массив, параметр приводится к пустому массиву. При фильтрации по правам доступа в группировку добавляется ID
limit
integer
необязательный
Ограничение количества строк выборки на уровне ORM. По умолчанию не задано
offset
integer
необязательный
Смещение выборки на уровне ORM. Если параметр не передан, применяется поведение ORM по умолчанию
Соответствие TYPE и scope
params.filter.TYPE
необязательный
scope в запросе
PAGE, STORE, SMN
необязательный
не передавать
GROUP
необязательный
GROUP
KNOWLEDGE
необязательный
KNOWLEDGE
MAINPAGE
необязательный
MAINPAGE
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"params": {
"select": [
"ID",
"TITLE",
"TYPE"
],
"filter": {
"=DELETED": "N"
},
"order": {
"ID": "DESC"
}
}
}' \
"https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.site.getList.json"
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"params": {
"select": [
"ID",
"TITLE",
"TYPE"
],
"filter": {
"=DELETED": "N"
},
"order": {
"ID": "DESC"
}
},
"auth": "**put_access_token_here**"
}' \
"https://**put.your-domain-here**/rest/landing.site.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 site item returned in result[]
type SiteItem = {
ID: string
TITLE: string
TYPE: string
}
try {
// landing.site.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<SiteItem[]>({
method: 'landing.site.getList',
params: {
params: {
select: [
'ID',
'TITLE',
'TYPE',
],
filter: {
'=DELETED': 'N',
},
order: {
ID: 'DESC',
},
},
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('Sites fetched:', 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 getSiteList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// landing.site.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.site.getList',
params: {
params: {
select: [
'ID',
'TITLE',
'TYPE',
],
filter: {
'=DELETED': 'N',
},
order: {
ID: 'DESC',
},
},
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('Sites fetched:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getSiteList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.landing.site.get_list(
params={
"select": [
"ID",
"TITLE",
"TYPE",
],
"filter": {
"=DELETED": "N",
},
"order": {
"ID": "DESC",
},
},
).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.site.getList',
[
'params' => [
'select' => [
'ID',
'TITLE',
'TYPE',
],
'filter' => [
'=DELETED' => 'N',
],
'order' => [
'ID' => 'DESC',
],
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting site list: ' . $e->getMessage();
}
BX24.callMethod(
'landing.site.getList',
{
params: {
select: [
'ID',
'TITLE',
'TYPE'
],
filter: {
'=DELETED': 'N'
},
order: {
ID: 'DESC'
}
}
},
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'landing.site.getList',
[
'params' => [
'select' => [
'ID',
'TITLE',
'TYPE',
],
'filter' => [
'=DELETED' => 'N',
],
'order' => [
'ID' => 'DESC',
],
]
]
);
echo '<pre>';
print_r($result);
echo '</pre>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "landing.site.getList", b24.Params{
"params": b24.Params{
"select": []string{"ID", "TITLE", "TYPE"},
"filter": b24.Params{
"=DELETED": "N",
},
"order": b24.Params{
"ID": "DESC",
},
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("landing.site.getList: %w", err)
}
var items []struct {
ID b24.ID `json:"ID"`
Title string `json:"TITLE"`
Type string `json:"TYPE"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.Title)
}
Ответ
HTTP-статус: 200
{
"result": [
{
"ID": "157",
"TITLE": "Вилла Ранду",
"TYPE": "PAGE"
},
{
"ID": "147",
"TITLE": "Test Test yesss",
"TYPE": "STORE"
},
{
"ID": "3",
"TITLE": "Музей вилок",
"TYPE": "PAGE"
}
],
"time": {
"start": 1773269838,
"finish": 1773269838.647153,
"duration": 0.6471529006958008,
"processing": 0,
"date_start": "2026-03-12T01:57:18+03:00",
"date_finish": "2026-03-12T01:57:18+03:00",
"operating_reset_at": 1773270438,
"operating": 0
}
}
Возвращаемые данные
result
object[]
Список сайтов (подробное описание). Метод может вернуть result: [] без ошибки, если по фильтру нет подходящих сайтов или у пользователя нет права «просмотр» для этих сайтов
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "ACCESS_DENIED",
"error_description": "Access denied"
}
| Код | Описание | Значение |
|---|---|---|
ACCESS_DENIED |
Недостаточно прав для вызова методов landing | |
TYPE_ERROR |
Ошибка типа данных в параметрах вызова метода | |
SYSTEM_ERROR |
Внутренняя ошибка при выполнении метода |

