# changeportaldefaultheme.theme.update

Scope: changeportaldefaultheme

Кто может вызывать: Пользователь с правом записи на модуль для siteId (UserHelper::canConfigureBranding). Подробнее: Права доступа

Сохранить группы опций темы и флаги модуля; перекомпилировать LESS для сайта

HTTP: POST

Побочные эффекты: обновляет COption, пересобирает CSS из LESS; при {fileKey}_del удаляет связанный файл из b_file

Семантика записи: частичное обновление (не полная замена). Передаются только изменяемые группы/ключи; остальные значения на сайте сохраняются. Нераспознанные ключи в группах игнорируются. Дополнительный CSS — через css.update.

Для module_mode / module_admin / module_forbid_theme передавайте Y или N. Значения module_mode — поле value из mode.list.

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

Параметр Тип Обяз. Описание
siteId string нет ID сайта. По умолчанию — сайт по умолчанию
module_mode string нет Y / N — см. mode.list
module_admin string нет Y / N
module_forbid_theme string нет Y / N
auth, noauth, auth_zephir, noauth_zephir, auth_main object нет Группы опций: ключи по шаблону input-@…, settings-@…, svg-@…, instruction-*
{fileKey}_del string нет Маркер удаления изображения, напр. file-@client_logo_del=Y

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

Ответ в конверте модуля: result.result — сохранённые настройки темы (формат как у theme.get); result.error.

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

Справочник кодов ошибок.

Код Описание
UNAUTHORIZED Пользователь не авторизован
ACCESS_DENIED Нет права записи на модуль для сайта
SITE_NOT_FOUND Сайт с указанным siteId не найден
INTERNAL_ERROR Внутренняя ошибка сервера

Пример запроса (POST)

Прогон на портале 76593.dev.wehive.digital, пользователь вебхука 1.

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/changeportaldefaultheme.theme.update.json" \
          -H "Content-Type: application/x-www-form-urlencoded" \
          -H "Accept: application/json" \
          --data-urlencode "siteId=s1" \
          --data-urlencode "module_mode=N" \
          --data-urlencode "module_admin=Y" \
          --data-urlencode "module_forbid_theme=N"
        

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

{
          "result": {
            "result": {
              "auth": [],
              "noauth": [],
              "auth_zephir": [],
              "noauth_zephir": [],
              "auth_main": [],
              "module_mode": "N",
              "module_admin": "Y",
              "module_forbid_theme": "N"
            },
            "error": null
          }
        }
        

См. также