library.review.add
Scope:
libraryКто может вызывать: Сотрудник; чужой
userId— модератор.
Сохранение отзыва и оценки к книге.
HTTP: POST
Побочные эффекты: HL отзыв + сообщение форума; text санитизируется.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
bookId |
int |
да | ID книги |
rating |
float |
да | Оценка 1–5; дробные значения округляются до целого (round, напр. 4.5 → 5) |
text |
string |
да | Текст отзыва (HTML whitelist). Алиасы: review |
userId |
int |
нет | Автор отзыва; если не передан — пользователь вебхука (чужой ID — только модератор) |
Возвращаемые данные
Объект отзыва в result.result (list — массив + total, next):
| Поле | Тип | Описание |
|---|---|---|
id |
int |
ID записи HL |
bookId |
int |
ID книги |
userId |
int |
ID автора отзыва |
rating |
float |
Оценка |
text |
string |
Текст (HTML, whitelist) |
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
VALIDATION_ERROR |
Отсутствует bookId или text (details.field); книга не из библиотеки (details.code: bookId); прочие ошибки сохранения (details.code) |
PERMISSION_DENIED |
Чужой userId без прав модератора |
INTERNAL_ERROR |
Отзыв не найден сразу после сохранения (редко) |
Пример запроса (POST)
curl -X POST "https://76590.dev.wehive.digital/rest/1/{webhook_code}/library.review.add.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"bookId": 1177,
"rating": 4,
"text": "<p>Отзыв REST docs</p>",
"userId": 1
}'
Пример ответа
{
"result": {
"result": {
"id": 12,
"bookId": 1177,
"userId": 1,
"rating": 4,
"text": "<p>Отзыв REST docs</p>"
},
"error": null
}
}
См. также
Предыдущая
Следующая