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

Неверное расширение или недоступный fileIdVALIDATION_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
          }
        }
        

См. также

Предыдущая
Следующая