homepage.blocks.list

Scope: homepage

Кто может вызывать: Авторизованный пользователь

Каталог блоков главной (центр и сайдбар): встроенные блоки и локальные блоки из /local/ithive.homepage/blocks/ с эффективными настройками сайта (title, active, sort, rights, mobile, menu). Блоки, недоступные пользователю по rights, не возвращаются. Новый локальный блок из /local возвращается с active = false, пока его не включили. Порядок: зона (центр, затем сайдбар), sort, code.

HTTP: GET
Побочные эффекты: нет

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

Параметр Тип Обяз. Описание
siteId string нет Код сайта; по умолчанию текущий.
filter object нет Mongo-фильтр по полям code, zone, source, title, sort, active; операторы $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin. filter.siteId, если задан, должен совпадать с siteId.
limit int нет Размер страницы (по умолчанию 50, максимум 500).
offset int нет Смещение.
fetchAll bool нет Вернуть все страницы.

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

  • result - массив блоков (формат объекта блока описан в обзоре раздела). Пути к файлам блоков в ответ не попадают.
  • total - общее количество блоков по фильтру.
  • next - смещение следующей страницы или null.
  • error - null при успехе.

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

Код Описание
UNAUTHORIZED Пользователь не авторизован
INVALID_LIMIT limit не положительный
LIMIT_EXCEEDED limit больше 500
INVALID_OFFSET offset отрицательный
INVALID_FILTER Некорректная структура фильтра
INVALID_FILTER_OPERATOR Неизвестный оператор фильтра
FETCH_ALL_LIMIT_EXCEEDED Превышен лимит fetchAll
VALIDATION_ERROR Некорректные параметры запроса, в том числе неизвестное поле фильтра (error.details.allowed - допустимые поля) или filter.siteId, не совпадающий с siteId
INTERNAL_ERROR Внутренняя ошибка сервиса

Примеры кода

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

curl -G "https://{portal}/rest/{user_id}/{webhook_code}/homepage.blocks.list.json" \
          --data-urlencode 'filter={"zone":"right","source":"local"}' \
          -H "Accept: application/json"
        

Пример ответа

{
          "result": {
            "result": [
              {
                "code": "acme_links",
                "zone": "right",
                "source": "local",
                "title": "Полезные ссылки",
                "sort": 300,
                "defaultSort": 500,
                "active": true,
                "siteId": "s1",
                "rights": {"admin": false, "groups": []},
                "mobile": {"type": "none", "url": "", "dataMethod": ""},
                "menu": null,
                "left_menu": false
              }
            ],
            "next": null,
            "error": null
          },
          "total": 1
        }
        

См. также

Предыдущая
Следующая