library.book.update
Scope:
libraryКто может вызывать: Модератор.
Обновление книги. В каждом запросе обязательны id и name — без name iblock вернёт VALIDATION_ERROR («Не введено название»). Если название не меняете, передайте текущее значение из library.book.get. Остальные поля (sort, annotation, categoryIds, …) опциональны и обновляются только при передаче в теле запроса.
HTTP: POST
Побочные эффекты: Обновляет элемент iblock.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id |
int |
да | ID книги |
name |
string |
да | Название книги (обязательно в каждом запросе; для сохранения без переименования — текущее name из get) |
code |
string |
нет | Символьный код (на add генерируется из name, если не передан) |
sort |
int |
нет | Индекс сортировки |
annotation |
string |
нет | Аннотация / описание (HTML санитизируется). Алиасы: description |
categoryIds |
int[] |
нет | ID разделов каталога. Алиасы: categories, categoryId |
authorIds |
int[] |
нет | ID авторов из library.enum.author.list (numeric id). Алиасы: authors |
newAuthors |
string[] |
нет | Имена новых авторов для создания |
paperVersion |
bool |
нет | Доступна бумажная версия. Алиасы: isPaperVersion |
availableCopies |
int |
нет | Количество бумажных экземпляров. Алиасы: paperVersionCount |
showInCategoryRecommendations |
bool |
нет | Показывать в рекомендациях категории. Алиасы: recommendedInCategories, recommendationsTop |
electronicVersion |
bool |
нет | Доступна электронная версия |
electronicLinks |
object |
нет | Ссылки на файлы: { pdf, epub, doc, zip }. Алиасы: electronicLinkPdf, … |
electronicFileIds |
int[] |
нет | ID файлов электронной книги (должны принадлежать пользователю или быть привязаны к книге). Алиасы: electronicVersionFileIds |
audioVersion |
bool |
нет | Доступна аудиоверсия |
audioLinks |
object |
нет | Ссылки: { mp3, mp4, m4b, mobi, ogg }. Алиасы: audioLinkMp3, … |
audioFileIds |
int[] |
нет | ID аудиофайлов. Алиасы: audioVersionFileIds |
publishYear |
string |
нет | Год издания |
link |
string |
нет | Внешняя ссылка на покупку |
price |
string |
нет | Цена |
previewPictureId |
int |
нет | ID файла обложки. Алиасы: image |
isActive |
bool |
нет | Опубликовать сразу (только модератор) |
Допустимые расширения файлов
Поля *FileIds и previewPictureId — ID файлов из Bitrix (b_file), загруженных на портал заранее. Проверяются расширение, размер и доступ (файл создан вызывающим или уже привязан к книге).
| Поле | Расширения |
|---|---|
electronicFileIds |
pdf, epub, mobi |
audioFileIds |
mp3, mp4, m4b, ogg, mobi |
previewPictureId |
jpg, jpeg, png, gif, webp |
Объекты electronicLinks / audioLinks — внешние URL (не b_file); ключи объекта задают тип ссылки:
| Объект | Ключи |
|---|---|
electronicLinks |
pdf, epub, doc, zip |
audioLinks |
mp3, mp4, m4b, mobi, ogg |
Неверное расширение или недоступный fileId → VALIDATION_ERROR (details.field).
Возвращаемые данные
Объект книги в result.result (для list — массив таких объектов; также total, next на уровне Bitrix result):
| Поле | Тип | Описание |
|---|---|---|
id |
int |
ID элемента каталога |
name |
string |
Название |
code |
string |
Символьный код |
sort |
int |
Сортировка |
active |
bool |
Опубликована |
categoryIds |
int[] |
ID категорий |
createdBy |
int |
ID создавшего пользователя |
dateCreate |
string |
Дата создания (формат портала) |
authors |
string[] |
Имена авторов (не enum id) |
paperVersion |
bool |
Бумажная версия |
paperVersionCount |
int |
Заданное число экземпляров |
showInCategoryRecommendations |
bool |
В рекомендациях категории |
electronicVersion |
bool |
Электронная версия |
electronicFileIds |
int[] |
ID файлов e-book |
audioVersion |
bool |
Аудиоверсия |
audioFileIds |
int[] |
ID аудиофайлов |
publishYear |
string |
Год издания |
annotation |
string |
Описание |
link |
string |
Внешняя ссылка |
price |
string |
Цена |
previewPictureId |
int |
ID обложки |
rating |
float |
Средний рейтинг |
voteCount |
int |
Число голосов |
reviewsCount |
int |
Число отзывов |
availableCopies |
int |
Доступно экземпляров сейчас |
isTakenByUser |
bool |
Взята текущим пользователем |
Ответ в конверте модуля: result.result, result.error.
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
PERMISSION_DENIED |
Нет прав модератора |
NOT_FOUND |
Книга не найдена |
VALIDATION_ERROR |
Ошибка сохранения |
Пример запроса (POST)
curl -X POST "https://76590.dev.wehive.digital/rest/1/{webhook_code}/library.book.update.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"id": 1591,
"name": "REST docs full updated 20260827-105030",
"sort": 510,
"annotation": "Обновлённое описание",
"categoryIds": [
135
],
"authorIds": [
571
],
"paperVersion": true,
"availableCopies": 3,
"electronicVersion": false,
"audioVersion": false,
"publishYear": "2025",
"link": "https://example.com/updated",
"price": "1200"
}'
Пример ответа
{
"result": {
"result": {
"id": 1591,
"name": "REST docs full updated 20260827-105030",
"code": "rest_docs_full_20260827_105030",
"sort": 510,
"active": false,
"categoryIds": [
135
],
"createdBy": 1,
"dateCreate": "27.08.2026 10:50:31",
"authors": [
"Harvard Business Review"
],
"paperVersion": true,
"paperVersionCount": 3,
"showInCategoryRecommendations": true,
"electronicVersion": true,
"electronicFileIds": [],
"audioVersion": true,
"audioFileIds": [],
"publishYear": "2025",
"annotation": "Обновлённое описание",
"link": "https://example.com/updated",
"price": "1200",
"previewPictureId": 0,
"rating": 0,
"voteCount": 0,
"reviewsCount": 0,
"availableCopies": 3,
"isTakenByUser": false
},
"error": null
}
}