метод REST scope: landing

landing.repowidget.getlist

Получить список виджетов

Кто может выполнять: любой пользователь

Описание

Метод landing.repowidget.getlist возвращает список виджетов текущего приложения, отобранных по фильтру.

Параметры

params object обязательный

Массив полей для получения списка виджетов

Параметр params

select array необязательный

Массив со списком полей, которые необходимо выбрать.

Если не передан или передан пустой массив, то будут выбраны все доступные доступные виджеты

filter object необязательный

Объект для фильтрации выбранных записей в формате {"field_1": "value_1", ... "field_N": "value_N"}.

Возможные значения для field смотрите в таблице ниже.

Ключу может быть задан дополнительный префикс, уточняющий поведение фильтра. Возможные значения префикса:
- >= — больше либо равно
- > — больше
- <= — меньше либо равно
- < — меньше
- @ — IN (в качестве значения передаётся массив)
- !@— NOT IN (в качестве значения передаётся массив)
- % — LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск ищет подстроку в любой позиции строки
- =% — LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
- "мол%" — ищем значения, начинающиеся с «мол»
- "%мол" — ищем значения, заканчивающиеся на «мол»
- "%мол%" — ищем значения, где «мол» может быть в любой позиции

  • %= — LIKE (см. описание выше)
  • !% — NOT LIKE, поиск по подстроке. Символ % в значении фильтра передавать не нужно. Поиск идет с обоих сторон.
  • !=% — NOT LIKE, поиск по подстроке. Символ % нужно передавать в значении. Примеры:
    - "мол%" — ищем значения, не начинающиеся с «мол»
    - "%мол" — ищем значения, не заканчивающиеся на «мол»
    - "%мол%" — ищем значения, где подстроки «мол» нет в любой позиции
  • !%= — NOT LIKE (см. описание выше)
  • = — равно, точное совпадение (используется по умолчанию)
  • != - не равно
  • ! — не равно
group array необязательный

Массив для группировки виджетов. Группировать можно по полям виджета

order object необязательный

Объект для сортировки выбранных записей в формате {"field_1": "order_1", ... "field_N": "order_N"}.

Возможные значения для field смотрите в таблице ниже.

Возможные значения для order:
- asc — в порядке возрастания
- desc — в порядке убывания

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

// 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 widget returned in result[]
type RepoWidgetItem = {
  ID: string
  XML_ID: string
  APP_CODE: string
  ACTIVE: 'Y' | 'N'
  NAME: string
  DESCRIPTION: string | null
  SECTIONS: string
  SITE_TEMPLATE_ID: string | null
  PREVIEW: string
  MANIFEST: Record<string, unknown>
  CONTENT: string
  CREATED_BY_ID: string
  MODIFIED_BY_ID: string
  DATE_CREATE: string
  DATE_MODIFY: string
}

try {
  // landing.repowidget.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<RepoWidgetItem[]>({
    method: 'landing.repowidget.getlist',
    params: {
      params: {
        select: ['ID', 'NAME'],
        filter: {
          '>ID': '1',
        },
      },
      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('Widgets count on this page:', result.length, result)
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}

Ответ

HTTP-статус: 200

{
    "result": [
        {
            "ID": "4",
            "XML_ID": "my_widget",
            "APP_CODE": "app.code",
            "ACTIVE": "Y",
            "NAME": "My widget",
            "DESCRIPTION": null,
            "SECTIONS": "widgets_company_life",
            "SITE_TEMPLATE_ID": null,
            "PREVIEW": "https://my-app.com/main_preview.jpg",
            "MANIFEST": {
                "block": {
                    "type": [
                        "mainpage"
                    ],
                    "subtype": [
                        "widgetvue"
                    ],
                    "subtype_params": {
                        "rootNode": ".w-container",
                        "demoData": {
                            "desc": "JustSome widget data",
                            "count": "420",
                        },
                        "handler": "https://my-app.com/main.php",
                        "style": "https://my-app.com/main.css",
                        "lang": {
                            "ru": {
                                "W_TITLE": "Люди и их возраст",
                                "W_EMPTY": "Нет людей"
                            },
                            "en": {
                                "W_TITLE": "Widget title",
                                "W_EMPTY": "Empty!"
                            }
                        }
                    }
                }
            },
            "CONTENT": "<div class=\"w-container\">not_var{{desc}}</div>",
            "CREATED_BY_ID": "1",
            "MODIFIED_BY_ID": "1",
            "DATE_CREATE": "10.10.2024 15:55:30",
            "DATE_MODIFY": "16.10.2024 16:12:57"
        }
    ],
    "time": {
        "start": 1729162340.81773,
        "finish": 1729162344.800994,
        "duration": 3.9832639694213867,
        "processing": 3.8990869522094727,
        "date_start": "2024-10-17T15:52:20+05:00",
        "date_finish": "2024-10-17T15:52:24+05:00",
        "operating": 3.899045944213867
    }
}

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

result object

Массив виджетов. Каждый элемент массива — объект, допустимые поля описаны выше.

time time

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

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

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