Пользователям предоставляется возможность просматривать отзывы/рецензии на книги, авторов и на серии, пользовательские полки.
См. также [w_add_item_review] Оставить отзыв на объект.
ID функции
r_browse_item_reviews
Кто может вызывать
Любой пользователь.
Авторизованное приложение.
Принимаемые параметры
item_id* – идентификатор объекта, отзывы на который необходимо получить;
entity* – тип объекта, на который оставлены отзывы. Возможные значения:
- person – отзывы на автора;
- sequence – отзывы на серию;
- art – отзывы на книгу;
- review – ответы на отзывы (для раскрытия ветки ответов на первый отзыв);
- recense − отзыв на рецензию;
- folder − отзыв на пользовательскую полку.
sort – порядок, в котором следует сортировать отзывы. Возможные значения:
- best – в начале отдавать лучшие отзывы;
- new – в начале отдавать самые новые отзывы;
- default – на усмотрение сервера (по-умолчанию).
limit – ограничение на количество возвращаемых отзывов. Работает аналогично инструкции limit в MySQL и в запросе представлен одним числом либо массивом из двух чисел N,M. Если limit указан, возвращается M отзывов, начиная с отзыва N (у первого – номер 0). Если limit не задан – значение по умолчанию «0, 20».
Возвращаемые значения
cnt* – общее количество отзывов на объект;
reviews* – массив, содержащий информацию о всех найденных отзывах на объект. Для каждого найденного отзыва возвращаются следующие атрибуты:
- id* – идентификатор отзыва;
- added* – дата написания отзыва в ISO 8601 формате даты-времени с UTC, например, «2013-10-07T16:00:00+03:00»;
- nickname* – имя (или псевдоним) автора отзыва;
- author – метка, информирующая о том, что автор отзыва является автором данной книги, серии или собственно персоной, на которую оставлен отзыв;
- user_id* – идентификатор пользователя, являющегося автором отзыва;
- review_html* – текст отзыва (фрагмент XHTML);
- pro* – число «положительных» оценок на эту рецензию;
- contra* – число «отрицательных» оценок на эту рецензию;
- is_good – признак, что отзыв был оценен текущим пользователем. Принимает значение «1» в случае положительной оценки и «0» в случае отрицательной. В случае, если отзыв не был оценен, атрибут отсутствует в ответе;
- user_mark – оценка арта автором рецензии;
- review_src – исходный текст отзыва (BBCode). Присутствует у отзывов, написанных текущим пользователем;
- replies_n – количество ответов на отзыв первого уровня;
- top_replies – массив из трех наиболее популярных ответов на отзыв первого уровня:
- id* – идентификатор отзыва;
- added* – дата написания отзыва в ISO 8601 формате даты-времени с UTC, например «2013-10-07T16:00:00+03:00»;
- nickname* – имя (или псевдоним) автора отзыва;
- author – метка, информирующая о том, что автор отзыва является автором данного арта, серии или собственно персоной, на которую оставлен отзыв.
- user_id* – идентификатор пользователя, являющегося автором отзыва;
- review_html* – текст отзыва (фрагмент XHTML);
- pro* – число «положительных» оценок на эту рецензию;
- contra* – число «отрицательных» оценок на эту рецензию;
- is_good – признак, что отзыв был оценен текущим пользователем. Принимает значение «1» в случае положительной оценки и «0» в случае отрицательной. В случае, если отзыв не был оценен, атрибут отсутствует в ответе;
- review_src – исходный текст отзыва (BBCode). Присутствует у отзывов, написанных текущим пользователем.
Если у объекта отсутствуют отзывы, то массив reviews будет пустым.
Возможные ошибки
Кроме указанных ошибок могут быть также стандартные ошибки.
error_code | error_message | Описание |
---|---|---|
101071 | invalid limit param (must be [N,M] and 0 <= N < 100 000 000 and 0 < M < 1000) | Передано некорректное значение параметра limit. Значение должно быть передано в виде массива из двух чисел [N,M] в следующих диапазонах:
|
Пример запроса на сервер
{ "requests" : [ { "func" : "r_browse_item_reviews", "param" : { "item_id" : "178477", "entity" : "art" }, "id" : "browse_item_reviews" } ], "time" : "2019-07-11T11:51:17+03:00", "sid" : "5dbyd25f080d8b7jc71j6eey05b32450", "sha" : "2a422d1bb8318cc32b1e0c199dfc4450c70b9138966fca6d34df4192b9f45fd1", "app" : 1 }
Пример ответа сервера
{ "browse_item_reviews" : { "cnt" : "5", "reviews" : [ { "added" : "2019-07-08T11:40:52+03:00", "contra" : 0, "id" : "32", "nickname" : "Test", "pro" : 0, "replies_n" : 4, "review_html" : "<p>Отзыв на art 1.</p><p>Тест</p>", "top_replies" : [ { "added" : "2019-07-08T11:52:21+03:00", "contra" : 0, "id" : 44, "nickname" : "Test", "pro" : 1, "review_html" : "<p>Отзыв на отзыв на art 1.</p><p>Тест</p>", "user_id" : 331364693 }, { "added" : "2019-07-08T11:53:10+03:00", "contra" : 0, "id" : 47, "nickname" : "Test", "pro" : 0, "review_html" : "<p>Отзыв на отзыв на art 4.</p><p>Тест</p>", "user_id" : 331364693 }, { "added" : "2019-07-08T11:52:54+03:00", "contra" : 0, "id" : 46, "nickname" : "Test", "pro" : 0, "review_html" : "<p>Отзыв на отзыв на art 3.</p><p>Тест</p>", "user_id" : 331364693 } ], "user_id" : 331364693, "user_mark" : 4 }, { "added" : "2019-07-08T11:41:14+03:00", "contra" : 0, "id" : "33", "nickname" : "Test", "pro" : 0, "replies_n" : 0, "review_html" : "<p>Отзыв на art 2.</p><p>Тест</p>", "user_id" : 331364693, "user_mark" : 4 }, { "added" : "2019-07-08T11:41:26+03:00", "contra" : 0, "id" : "34", "nickname" : "Test", "pro" : 0, "replies_n" : 0, "review_html" : "<p>Отзыв на art 3.</p><p>Тест</p>", "user_id" : 331364693, "user_mark" : 4 }, { "added" : "2019-07-08T11:41:42+03:00", "contra" : 0, "id" : "35", "nickname" : "Test", "pro" : 0, "replies_n" : 4, "review_html" : "<p>Отзыв на art 4.</p><p>Тест</p>", "top_replies" : [ { "added" : "2019-07-08T11:54:23+03:00", "contra" : 0, "id" : 51, "nickname" : "Test", "pro" : 0, "review_html" : "<p>Отзыв на отзыв на art 8.</p><p>Тест</p>", "user_id" : 331364693 }, { "added" : "2019-07-08T11:54:14+03:00", "contra" : 0, "id" : 50, "nickname" : "Test", "pro" : 0, "review_html" : "<p>Отзыв на отзыв на art 7.</p><p>Тест</p>", "user_id" : 331364693 }, { "added" : "2019-07-08T11:54:05+03:00", "contra" : 0, "id" : 49, "nickname" : "Test", "pro" : 0, "review_html" : "<p>Отзыв на отзыв на art 6.</p><p>Тест</p>", "user_id" : 331364693 } ], "user_id" : 331364693, "user_mark" : 4 }, { "added" : "2019-07-11T11:41:26+03:00", "author" : 1, "contra" : 0, "id" : "72", "nickname" : "libdan", "pro" : 0, "replies_n" : 1, "review_html" : "<p>типо <b>привет</b> и все такое</p>", "review_src" : "типо [b]привет[/b] и все такое", "top_replies" : [ { "added" : "2019-07-11T11:43:46+03:00", "author" : 1, "contra" : 0, "id" : 73, "nickname" : "libdan", "pro" : 0, "review_html" : "<p>типо <b>привет</b> и все такое</p>", "review_src" : "типо [b]привет[/b] и все такое", "user_id" : 504629448 } ], "user_id" : 504629448, "user_mark" : 2 } ], "success" : true }, "success" : true, "time" : "2019-07-11T11:51:22+03:00" }