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 - доп.информация об рубриках в блогах, де публикуются новинки.