Skip to content

Latest commit

 

History

History
106 lines (83 loc) · 6.58 KB

pubnews.md

File metadata and controls

106 lines (83 loc) · 6.58 KB

Новинки и планы издательств, авторов

API повторяет раздел https://fantlab.ru/pubnews
Веб-версия строится ровно по тем же данным, что и выводятся в АПИ.

В разделе АПИ три подраздела: Новинки издательств, Планы издательств, Планы авторов. Первые два - списки изданий. Третьей - список произведений.

Запрос

GET /pubnews   - Новинки издательств
GET /pubplans  - Планы издательств
GET /autplans  - Планы авторов

Параметры

В урле запроса допустимы параметры: lang, sort, page, pub_id.

lang - язык.

lang=0  - русскоязычное
lang=1  - зарубежное
lang=2  - и то, и другое

sort - сортировка. В каждом из трёх подразделов свой набор доступных сортировок:

/pubnews.json
  date - по дате (выхода)
  popularity - по популярности (*)
  type - по типу (издания)
  pub - по издательству и серии
  author - по автору
  title - по наименованию
/pubplans.json  - Планы издательств
  corect - по изменению (дате последней правки издания)   - единственное отличие от набора сортировок /pubnews.json
  popularity - по популярности (*)
  date - по дате (выхода)
  type - по типу (издания)
  pub - по издательству и серии
  author - по автору
  title - по наименованию
/autplans.json  - Планы авторов
  corect - по изменению (дате добавления произведения)
  popularity - по популярности (*)
  author - по автору
  title - по наименованию

(*) на данный момент считается на основе количества добавлений на книжные полки и количества подписок на выход книги, если она в планах

pub_id - выбор конкретного издательства по его ID. Доступно только в разделах pubnews и pubplans.

page - страница.

Пример

/pubnews - Новинки издательств
/pubplans - Планы издательств
/autplans - Планы авторов

Ответ

all_pages_access_to_user_class - номер класса посетителя, начиная с которого (включительно) можно открывать ему page=all. Это небольшая защита от излишней нагрузки на сервер, а также от пауков-парсеров, которым удобнее одну страницу парсить.

image_url - префикс урла всех картинок (ворки и эдишны)

interval_days - за сколько дней показываются новинки и планы (это можно где-то снизу под звёздочкой указать, как на сайте)

lang - выбранный язык (0 - русский, 1 - зарубежный, 2 - оба)

mode - это своего рода урл после fantlab.ru, но без параметров. Значения: pubnews, pubplans, autplans.

objects - собственно массив-список объектов (изданий или произведений). В нём:

  • approx_release_date - ожидаемая дата релиза издания. Используется только на бэке. На фронте - нет.
  • approx_release_date_iso - ожидаемая дата релиза издания в ISO 8601
  • correct_date - дата последней правки издания/ворка
  • correct_date_iso - дата последней правки издания/ворка в ISO 8601
  • date - дата или выхода или плана выхода издания. На сайте справа от издания выводится именно она
  • first_edition - является ли первым изданием
  • ozon_available - доступность на озоне (0,1)
  • ozon_cost - цена на озоне
  • ozon_id - id на озоне
  • аналогично с лабиринтом
  • plan_date и plandate - дата выхода. В разных форматах. Но выводить нужно всё равно просто date.
  • plan_description - описание/примечание к плану издания книги
  • popularity - рейтинг популярности
  • popularity_date_of_calc - дата/время последнего пересчета рейтинга популярности
  • popularity_date_of_calc_iso - дата/время последнего пересчета рейтинга популярности в ISO 8601
  • preread - есть ли кусок pdf-а для ознакомления (0, 1)
  • release_date - Фактическое начало продаж
  • sort_string - по этому полю идёт сортировка при sort in (author, title). С этого поля можно откусывать первый символ, чтобы рисовать подзаголовки: "авторы на букву А, затем Б...". Как на сайте.
  • the_only_work - вложенный хэш, которые заполняется данными о произведении, если оно в этом издании одно
  • ...остальное должно быть понятно и так

objects_in_page - сколько объектов на странице показывается

pub_id и pub_name - издательство, выбранное из ниспадающего списка (для разделов новинок и планов издательств)

publisher_list - список всех издательств, чьи издания встречены в этом разделе. Для выбора из ниспадающего списка.

pubnews_communities - доп.информация об рубриках в блогах, де публикуются новинки.