# changeportaldefaultheme.import.apply
Scope:
changeportaldefaulthemeКто может вызывать: Пользователь с правом записи на модуль для
siteId(UserHelper::canConfigureBranding). Подробнее: Права доступа
Применить архив настроек темы из b_file к указанному сайту
HTTP: POST
Побочные эффекты: импортирует опции и CSS, пересобирает LESS
При isThemeSample=true (Y / true / 1): из архива применяются группы auth, auth_zephir, noauth, noauth_zephir; остальные ключи (module_*, files, auth_main и т.д.) берутся из текущих настроек сайта, если они уже заданы.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
siteId |
string |
нет | ID сайта. По умолчанию — сайт по умолчанию |
fileId |
int |
да | ID ZIP-файла в b_file (напр. из export.download) |
isThemeSample |
bool|string |
нет | Y / true / 1 — режим «образец темы» (см. выше). По умолчанию false |
Возвращаемые данные
Ответ в конверте модуля: result.result — настройки темы после импорта (формат как у theme.get); result.error.
Обработка ошибок
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
ACCESS_DENIED |
Нет права записи на модуль для сайта |
SITE_NOT_FOUND |
Сайт с указанным siteId не найден |
VALIDATION_ERROR |
Не передан или некорректный fileId |
INVALID_ARCHIVE |
Некорректный или повреждённый ZIP |
INVALID_FILE_TYPE |
Недопустимый тип файла внутри архива |
FILE_TOO_LARGE |
Архив или вложение превышает лимит |
INTERNAL_ERROR |
Внутренняя ошибка сервера |
Пример запроса (POST)
Прогон на портале 76593.dev.wehive.digital, пользователь вебхука 1, fileId из предварительного export.download.
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/changeportaldefaultheme.import.apply.json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json" \
--data-urlencode "siteId=s1" \
--data-urlencode "fileId=1217" \
--data-urlencode "isThemeSample=N"
Пример ответа
{
"result": {
"result": {
"auth": [],
"noauth": [],
"auth_zephir": [],
"noauth_zephir": [],
"auth_main": [],
"module_mode": "N",
"module_admin": "Y",
"module_forbid_theme": "N"
},
"error": null
}
}
Пример ответа (ошибка)
Запрос без fileId:
{
"result": {
"result": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "Обязательный параметр fileId не указан или некорректен.",
"details": {
"field": "fileId"
}
}
}
}