library.rating.batch
Scope:
libraryКто может вызывать: Сотрудник.
Пакетное получение агрегированных рейтингов по списку книг за один запрос. Для каждого bookId возвращаются count, rating, reviewsCount — как в library.rating.get, но без проверки существования книги в каталоге (для неизвестных ID — нули).
HTTP: GET
Побочные эффекты: none
Лимит: не более 100 уникальных ID в bookIds (после приведения к int и удаления дубликатов).
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
bookIds |
int[] |
да | Массив ID книг (макс. 100 уникальных значений). Алиасы: ids; также строка через запятую |
Возвращаемые данные
result.result.items — объект { "<bookId>": { bookId, count, rating, reviewsCount } }
| Поле | Тип | Описание |
|---|---|---|
bookId |
int |
ID книги |
count |
int |
Число оценок |
rating |
float |
Средний рейтинг |
reviewsCount |
int |
Число отзывов |
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
VALIDATION_ERROR |
Пустой или отсутствующий bookIds (details.field); больше 100 уникальных ID (details.field, details.max: 100) |
Несуществующие ID в bookIds не вызывают ошибку — в items возвращаются нулевые рейтинги.
Пример запроса (GET)
curl -G "https://76590.dev.wehive.digital/rest/1/{webhook_code}/library.rating.batch.json" --data-urlencode "bookIds[0]=1177" --data-urlencode "bookIds[1]=1568"
Пример ответа
{
"result": {
"result": {
"items": {
"1177": {
"bookId": 1177,
"count": 1,
"rating": 5,
"reviewsCount": 1
},
"1568": {
"bookId": 1568,
"count": 1,
"rating": 4,
"reviewsCount": 1
}
}
},
"error": null
}
}
Пример ошибки (превышен лимит)
{
"result": {
"result": null,
"error": {
"code": "VALIDATION_ERROR",
"message": "В bookIds допускается не более 100 уникальных ID книг.",
"details": {
"field": "bookIds",
"max": 100
}
}
}
}
См. также
Предыдущая
Следующая