Skip to content

Latest commit

 

History

History
148 lines (121 loc) · 6.52 KB

responses.md

File metadata and controls

148 lines (121 loc) · 6.52 KB

Отзывы

Отзывы на все произведения автора

Запрос

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}