метод REST scope: landing

landing.role.setAccessCodes

Установить коды доступа для роли

Кто может выполнять: администратор или пользователь с правом «полный доступ» к разделу «Сайты и магазины»

Описание

Метод landing.role.setAccessCodes задает, кому назначена роль: пользователям, группам или отделам. После вызова метод заново применяет уже сохраненные права этой роли для сайтов.

Параметры

scope string необязательный

Раздел, к которому относится роль. Параметр не связан с REST-скоупом landing в названии метода.

Значения GROUP, KNOWLEDGE и MAINPAGE соответствуют типам сайтов из статьи Работа с типами сайтов и скоупами.

Возможные значения:
GROUP — роли для сайтов групп
KNOWLEDGE — роли для баз знаний
MAINPAGE — роли для главной страницы или вайба

Если параметр не передать, метод работает с ролями для сайтов и интернет-магазинов. Для роли другого раздела метод вернет ошибку ROLE_SCOPE_MISMATCH

id integer обязательный

Идентификатор роли. Получить идентификатор можно с помощью метода landing.role.getList

codes string[] необязательный

Итоговый список кодов доступа для роли.

Метод полностью заменяет ранее сохраненный список и не объединяет его с текущим.

Варианты кодов доступа:
- U<ID> — пользователь
- G<ID> — группа пользователей
- DR<ID> — отдел вместе с подотделами
- AU — все авторизованные пользователи
- SG<ID> — рабочая группа

Подробнее о кодах доступа и правилах их использования рассказано в описании метода landing.site.setRights

Метод не проверяет каждый код доступа по отдельности. Если в списке есть неподдерживаемый или несуществующий код, отдельной ошибки не будет

Если параметр codes не передать, список кодов роли будет очищен. При этом сохраненные права роли по сайтам не исчезают автоматически, поэтому после вызова доступ может сохраниться у большего числа пользователей, чем ожидалось

После изменения кодов доступа система пересчитывает не только права по сайтам, но и дополнительные права роли: возможность создавать сайты, видеть раздел «Сайты и магазины» в меню и администрировать раздел

Получить сохраненный список кодов доступа через REST нельзя. Метод landing.role.getList возвращает только идентификатор, название и XML_ID роли, а landing.role.getRights показывает только права роли по сайтам

Если передать параметр codes не в формате массива, метод вернет ошибку ERROR_ARGUMENT

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

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "id": 11,
    "codes": [
      "U45",
      "DR7",
      "SG3_A"
    ]
  }' \
  "https://**put.your-domain-here**/rest/**user_id**/**webhook_code**/landing.role.setAccessCodes.json"

Ответ

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1775067129,
        "finish": 1775067129.196438,
        "duration": 0.19643807411193848,
        "processing": 0,
        "date_start": "2026-04-01T21:12:09+03:00",
        "date_finish": "2026-04-01T21:12:09+03:00",
        "operating_reset_at": 1775067729,
        "operating": 0
    }
}

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

result boolean

Результат вызова

Метод возвращает true, если запрос завершился без ошибки доступа или системной ошибки.

Значение true само по себе не подтверждает, что роль с таким id существует или что список кодов был изменен.

После вызова проверьте результат в интерфейсе. Через REST можно дополнительно проверить, какие права роли применяются к сайтам, методом landing.role.getRights, но итоговый список кодов доступа этот метод не возвращает

time time

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

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

HTTP-статус: 400

{
    "error": "MISSING_PARAMS",
    "error_description": "Недостаточно параметров вызова, пропущены: id"
}
Код Описание Значение
ACCESS_DENIED Недостаточно прав для работы с разделом «Сайты и магазины»
IS_NOT_ADMIN Для метода нужны права администратора или право «полный доступ» к разделу «Сайты и магазины»
FEATURE_NOT_AVAIL Управление правами в разделе «Сайты и магазины» недоступно на текущем тарифе
MISSING_PARAMS Не передан обязательный параметр id
ERROR_ARGUMENT Параметр codes передан не в формате массива
ROLE_SCOPE_MISMATCH Роль не относится к разделу из параметра scope. Метод возвращает эту ошибку и для роли другого раздела, и для несуществующей роли

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

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