Публичный репозиторий по API библиографического краудсорсингового портала fantlab.ru.
Предназначен для:
- документирования текущего состояния API
- взаимодействия программистов FL и пользователей API через систему Issues/Pull Requests
- API работает в тестовом режиме, текущая версия: v0.9.* (см.историю изменений). До версии 1.0 возможны большие изменения в выдачах.
- Домен для запросов - https://api.fantlab.ru.
- Возможные HTTP-коды ответов: 200 (успех), 404 (ошибка запроса).
- Из-за особенностей серверного языка (бэкенд написан на Perl) в выдачах уделено мало внимания типизации данных, например, вместо числа может прийти строка (e.g.
"work_id":"1"
). Это не баг. В подобных случаях в документации указан не действительный тип поля (строка), а тот, к которому можно автоматически привести (e.g.work_id: Int
). - В текстовых данных могут встретиться LINK-тэги - отсылки на сущности базы - для удобства для этого используются формат html-тэга a href). Пример:
“notes”:”Переиздание сборника рассказов <a href=\”/work320\”>Стивен Кинг «Бегущий человек»</a>”
. Полный список сущностей базы: autor, art, dictor, translator, person, work, edition, series, publisher, film, award, contest, user, topic, article, blog, blogarticle. Также могут встретиться и bb-тэги вида [user] и т.п.. По возможности от них избавляемся, но они могут до сих пор проскакивать. - В случае, если тип поля в документации обозначен как null, это означает одно из двух: либо поле может вообще отсутствовать, либо поле есть, но его значение равно null. Впрочем, с точки зрения конечного пользователя это одно и то же.
- Для удобства описания были введены дополнительные типы данных: Boolean ("0" (false) / "1" (true)), Date (строка в формате
yyyy-MM-dd
), DateTime (строка в форматеyyyy-MM-dd HH:mm:ss
), Url (ссылка на файл/картинку, обычно без протокола). - Если какое-нибудь поле может присутствовать или быть неравным null только при определенном переданном параметре, то в описании типа в этом случае указан соответствующий параметр (например,
# [biblio_blocks] список произведений
). Если поле не равно null при любом переданном параметре, в описании типа указан параметр[any]
.
- Константы
- Поиск
- Автор
- Произведение
- Издание
- Премии
- Переводчик
- Диктор
- Издательства
- Термины
- Пользователь
- Отзывы
- Новости
- Новинки и планы издательств, авторов
- Авторизация
- Подписки
- Книжные полки
- Создание книжной полки
- Удаление книжной полки
- Содержимое полки произведений
- Содержимое полки изданий
- Содержимое полки фильмов
- Добавление или удаление произведения с книжной полки
- Добавление или удаление издания с книжной полки
- Добавление или удаление фильма с книжной полки
- Добавление комментария к item
- Личка
- Рекомендации
- Форум
- Прочее