Запрос
GET /autor/{id}/responses?page={page}&sort={date|rating|mark}
Параметры
id - id автора
page - страница (необязательный; по-умолчанию 1). Запрос с пагинацией, отдает по 50 отзывов на странице
sort - вариант сортировки (необязательный; по-умолчанию по date - т.е. вначале самые новые отзывы)
* date - по дате (default)
* rating - по рейтингу отзыва
* mark - по оценке
Пример
/autor/133/responses?page=2&sort=rating - 50 хороших отзывы на произведения Дж. Р.Р. Мартина
Ответ:
{
total_count: Int, # общее количество отзывов
items: [ // список отзывов
{
response_id: Int, # id отзыва
response_date: DateTime, # дата-время написания отзыва ("2016-10-28 15:23:44")
response_date_iso: DateTime, # дата-время написания отзыва в формате ISO 8601 ("2016-10-28T15:23:44+03")
response_text: String, # текст отзыва
response_votes: int, # рейтинг отзыва
mark: Int, # оценка произведению, данная вместе с отзывом (1-10)
work_id: Int, # id произведения
work_author: String, # автор(ы) произведнния (на русском)
work_author_orig: String, # автор(ы) произведнния (на языке автора)
work_name: String, # название произведения (на русском)
work_name_orig: String, # название произведения (на языке написания)
work_year, # год публикации произведения
work_type: String, # тип произведения
work_type_id: Int, # id типа произведения
work_image: Url, # обложка/постер произведения
user_id: Int, # юзер-id
user_name: String, # login
user_sex: Int, # мол: m- мужской, w-женский
user_avatar: Url, # аватарка юзера
},
...
]
}
GET /work/{id}/responses?page={page}&sort={date|rating|mark}
Параметры
id - id автора
page - страница (необязательный; по-умолчанию 1). Запрос с пагинацией, отдает по 15 отзывов на странице
sort - вариант сортировки (необязательный; по-умолчанию по rating - т.е. вначале самые хорошие отзывы (в отличие от списка отзывов на автора - там по умолчанию "новые")
* date - по дате
* rating - по рейтингу отзыва (default)
* mark - по оценке
Пример:
/work/1/responses - хорошие отызывы на "Гиперион" Дэна Симменса
/work/1/responses?sort=date - новые отзывы на "Гиперион" Дэна Симменса
Ответ:
полностью соответвует выдачи как у списка отзывов автора (см. выше)
Запрос
GET /user/{id}/responses?page={page}&sort={date|rating|mark}
Параметры
id - id пользователя
page - страница (необязательный; по-умолчанию 1). Запрос с пагинацией, отдает по 50 отзывов на странице
sort - вариант сортировки (необязательный; по-умолчанию date)
* date - по дате (default)
* rating - по рейтингу
* mark - по оценке
Пример
/user/1/responses?page=2&sort=rating - 50-100 отзывы (по убыванию рейтинга) creator'а
Ответ
полностью соответвует выдачи как у списка отзывов автора (см. выше)
Запрос
GET /responses?page={page}
Параметры
page - страница (необязательный; по-умолчанию 1). Запрос с пагинацией, отдает по 50 отзывов на странице. максимум 20 страниц.
Пример
/responses - 50 самых новых отзывов на сайте
Ответ
полностью соответвует выдаче как у списка отзывов автора (см. выше)
В данном запросе необходимо обрабатывать такие ситуации, как повторное плюсование/минусование, голосование за собственный отзыв, запрет на минусование отзыв для "минусаторов", запрет на минусование пользователям, не набравшим 300 баллов за собственные отзывы etc.
Запрос
GET https://fantlab.ru/vote{response_id}{plus|minus}
Параметры
response_id - id отзыва
cookie - авторизационный хэдер (fl_s=*)
Пример
GET https://fantlab.ru/vote1plus - плюсануть отзыв #1
Ответ
r{response_id}={new_vote_count}