library.book.take
Scope:
libraryКто может вызывать: Сотрудник; чужой
userId— модератор.
HTTP: POST
Побочные эффекты: Запись в HL LibraryBookHistory.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
bookId |
int |
да | ID книги. Алиасы: id |
dateTo |
string |
да | Плановая дата возврата (строка для strtotime, напр. 2026-12-31 или 31.12.2026 как в UI). Алиасы: returnTo |
userId |
int |
нет | Заёмщик (по умолчанию — вызывающий) |
Возвращаемые данные
| Поле | Тип | Описание |
|---|---|---|
historyId |
int |
ID созданной записи выдачи в HL LibraryBookHistory (то же значение, что поле id в library.history.get) |
availableCopies |
int |
Сколько экземпляров книги осталось свободно после выдачи (в ТЗ — availableCount) |
bookId |
int |
ID книги |
userId |
int |
ID заёмщика |
success |
bool |
Успешная выдача |
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
BOOK_NOT_FOUND |
Книга не найдена или не из каталога библиотеки (details.id) |
BOOK_ALREADY_TAKEN |
Пользователь уже взял этот экземпляр (details без code) |
BOOK_NOT_AVAILABLE |
Нет свободных экземпляров (details без code) |
VALIDATION_ERROR |
Отсутствует dateTo / returnTo (details.field: dateTo); прочие ошибки истории выдачи (details.code) |
PERMISSION_DENIED |
Чужой userId без прав модератора |
Пример запроса (POST)
curl -X POST "https://76590.dev.wehive.digital/rest/1/{webhook_code}/library.book.take.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"bookId": 1177,
"dateTo": "2026-12-31",
"userId": 1
}'
Пример ответа
{
"result": {
"result": {
"historyId": 187,
"availableCopies": 2,
"bookId": 1177,
"userId": 1,
"success": true
},
"error": null
}
}
См. также
Предыдущая
Следующая