# 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
}
}