Похож на r_genre_arts_pop, но отдает не популярные книги из жанра, а книги фонда библиотек.
ID функции
r_library_fund
Кто может вызывать
Любой пользователь.
Авторизованное приложение.
Принимаемые параметры
libraries* – массив ID библиотек (один ID или несколько);
limit, anno, currency – идентично одноименным параметрам из запроса r_search_arts;
atype – супертип запроса (super_art_types) для запроса книг определенных типов. Если параметр не передан, в ответе будут выданы книги всех типов. Допустимые значения:
- 1 – электронные книги;
- 2 – аудиокниги.
Возвращаемые значения
arts* – идентично одноименному полю в ответе на запрос r_search_arts (за исключением отсутствующего здесь значения match_weight). Дополнительно в списке может присутствовать атрибут region_restriction – ограничение на показ/продажу книги в стране или регионе, где книга запрещена (определяется по GeoIP запросившего пользователя). Может принимать следующие значения:
- 1 – запрещена продажа книги. Карточка книги, в том числе её обложка, рецензии, цитаты и т. д. будут показаны пользователю, но будет отсутствовать возможность купить такую книгу. Возвращается в виде строки;
- 2 – запрещен показ книги. Книгу с таким ограничением пользователь не увидит, а так же она будут отсутствовать в выдаче при выполнении запроса поиска по книгам. Возвращается в виде строки.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101071 | Недопустимое значение в лимите возвращаемых элементов | В параметре limit должен передаваться массив из двух целых не отрицательных чисел либо одно число. |
101072 | Некорректный флаг аннотации | В параметре anno указано значение, отличное от «1». |
101073 | Указана некорректная валюта | В параметре currency допустимы только следующие валюты:
|
101128 | Указан некорректный список библиотек | Невалидный или пустой список библиотек |
101129 | Указаны некорректные ID библиотек | В списке библиотек присутствуют несуществующие номера библиотек или библиотеки группы |
Пример запроса на сервер
{ "app": "389526725", "time": "2018-07-20T12:22:59+00:00", "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c", "sid": "7bad5f2fb752ee957a4ab74aaac7711g", "requests": [{ "func": "r_library_fund", "id": "library_fund", "param": { "libraries": ["15775742"], "atype": "2" } }] }
Пример ответа сервера
{ "time" : "2018-07-20T15:24:48+03:00", "library_fund" : { "success" : true, "arts" : [ { "persons" : [ { "id" : "44351", "lvl" : "5", "full_name" : "Борис Акунин", "img" : "http://www.litres.ru/static/authors/100/00/04/43/00044351.jpg", "type" : "0" }, { "img" : "http://www.litres.ru/static/authors/100/00/12/12/00121232.jpg", "type" : "6", "id" : "121232", "full_name" : "Александр Клюквин", "lvl" : "4" } ], "lang" : "rus", "cover_w" : "570", "available" : "1", "mark_3" : "50", "biblio_selfservice" : "delayed", "cover_h" : "501", "year" : "2018", "lvl" : "4", "can_preorder" : "0", "mark_4" : "69", "mark_5" : "351", "avail_by_subscr" : "0", "sequences" : [ { "sequence_number" : "16", "name" : "Приключения Эраста Фандорина", "id" : "2025", "arts_n" : "51", "reviews_n" : "10" } ], "base_price" : "499.00", "biblio_busy" : "0", "publisher" : "СОЮЗ", "available_date" : "2018-02-08 10:00:00", "mark_2" : "24", "first_time_sale" : "2018-02-08 10:00:43", "id" : "29186447", "subtitle" : "", "last_release" : "2018-02-01 18:21:31", "cover" : "http://www.litres.ru/pub/c/cover/34067366.jpg", "genres" : [ { "name" : "интриги", "id" : "9375", "is_tag" : "1" }, { "name" : "исторические детективы", "id" : "5258" }, { "is_tag" : "1", "id" : "17555", "name" : "квест" }, { "id" : "51755", "name" : "остросюжетные детективы", "is_tag" : "1" }, { "is_tag" : "1", "name" : "расследование преступлений", "id" : "22385" }, { "id" : "7455", "name" : "частные детективы", "is_tag" : "1" } ], "biblio_fund" : "0", "final_price" : "499.00", "year_written" : "2018", "last_update" : "2018-02-12 14:21:58", "type" : "1", "biblio_queue_size" : "0", "chars" : "51040", "minage" : "16", "title" : "Не прощаюсь", "drm" : "0", "mark_1" : "41", "reviews_n" : "75" }, ... ] }, "success" : true }