ID функции
r_my_arts_all
Кто может вызывать
Авторизованный пользователь.
Авторизованное приложение.
Принимаемые параметры
limit – ограничение на количество возвращаемых книг. Работает аналогично инструкции limit в MySQL и в запросе представлен одним числом либо массивом из двух чисел N,M. Если limit указан – возвращается M книг, начиная с книги N (у первой книги номер 0). Если limit не задан – значение по умолчанию «0, 200»;
anno – если параметр имеет значение «1», то в ответе к найденным книгам будут добавлены аннотации (см. annotation);
atype – супертип запроса (super_art_types) для запроса книг определенных типов. Если параметр не передан, в ответе будут выданы арты всех типов. Допустимые значения:
- 1 – электронные книги;
- 2 – аудиокниги;
- 11 – подкасты.
Возвращаемые значения
arts* – идентично одноименному полю в ответе на запрос r_search_arts, за исключением следующих изменений:
отсутствующие значения:
- match_weight – атрибут не возвращается (нерелевантно для «моих книг»);
- purchase (весь раздел) – не возвращается (нерелевантно для «моих книг»);
дополнительные значения:
- readed_percent – процент прочтения книги;
- last_changed – время последнего изменения в книге со стороны пользователя (изменение процента прочитанного и пр.);
- in_folder – дополнительное свойство для книг, которые были помещены на полку (см. w_put_book_to_folder);
- region_restriction – ограничение на показ/продажу книги в стране или регионе, где книга запрещена (определяется по GeoIP запросившего пользователя). Может отсутствовать. Принимает следующие значения:
- 1 – запрещена продажа книги. Карточка книги, в том числе её обложка, рецензии, цитаты и т. д. будут показаны пользователю, но будет отсутствовать возможность купить такую книгу. Возвращается в виде строки;
- 2 – запрещен показ книги. Книгу с таким ограничением пользователь не увидит, а так же она будут отсутствовать в выдаче при выполнении запроса поиска по книгам. Возвращается в виде строки.
Если у пользователя нет ни одной своей книги (купленной, полученной бесплатно, загруженной в облако), то массив arts будет пустым.
Возможные ошибки
error_code | error_message | Описание |
---|---|---|
101072 | Некорректный флаг аннотации | В параметре anno указано значение, отличное от «1» |
Пример запроса на сервер
{ "app": "1", "time": "2014-11-07T16:21:02+03:00", "sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c", "sid": "7bad5f2fb752ee957a4ab74aaac7711g", "requests": [ { "func": "r_my_arts_all", "id": "my_arts_all", "param": { "limit": ["0","5"], "anno": "1" } } ] }
Пример ответа сервера
{ "success": true, "time": "2014-11-07T16:21:02+03:00", "my_arts_all" : { "success" : true, "arts" : [ { "readed_percent" : "40", "catalogue" : "id" : "171966", "last_update" : "2014-02-01T06:27:05+03:00", "last_release" : "2014-02-01T06:27:05+03:00", "lvl" : "5", "type" : "0", "drm" : "0", "title" : "Евгений Онегин", "subtitle" : "Второе издание", "lang" : "rus", "chars" : "201276", "sequences" : [ { "id" : "185259", "name" : "Список школьной литературы 9 класс", "sequence_number" : "21", "reviews_n " : "1", "arts_n" : "31", }, { ... }, ],{ "persons" : [ { "id" : "45142", "full_name" : "Александр Сергеевич Пушкин", "img" : "http://www.litres.ru/static/authors/100/45142.jpg", "type" : "1", }, { ... } ], "genres" : [ { "id" : "193", "name" : "Поэзия", "is_tag" : "1" }, { ... }, ], "cover" : "/pub/c/cover/08787189.jpg", "cover_h" : "798", "cover_w" : "570", "images" : "3", "annotation" : "<p>В книгу вошел роман в стихах А.С.Пушкина (1799–1837) «Евгений Онегин», обязательный для чтения и изучения в средней общеобразовательной школе.</p> <p>Роман в стихах «Евгений Онегин» стал центральным событием в литературной жизни пушкинской поры. И с тех пор шедевр А.С.Пушкина не утратил своей популярности, по-прежнему любим и почитаем миллионами читателей.</p>", "minage" : "0" }, "social" : { "reviews_n" : "15", "mark_1" : "2", "mark_2" : "12", "mark_3" : "10", "mark_4" : "33", "mark_5" : "23", "user_mark" : "5" } }, { ... }, { ... } ] } }
Запрос на получение файла книги
Для получение списка мультимедиа-файлов, связанных с артом необходимо выполнять запрос [r_art_files].
Запросы для книг типа 0 (fb2/fb3)
Запрос catalit_download_book отправляется на catalit.litres.ru. При этом следует передать параметры:
- sid* – SID, идентифицирующий пользователя;
- art* – ID запрашиваемой книги (целое положительное число);
- type – тип файла. Необязательный параметр,по умолчанию считается fb2.zip. Может принимать следующие значения:
- .fb2.zip – зипованный fb2;
- .html.zip – зипованный html;
- .txt.zip – зипованный txt;
- .rtf.zip – зипованный rtf;
- .fb3 – файл fb3, перспективный инновационный формат;
- .a4.pdf – PDF, оптимизированный для печати на A4;
- .a6.pdf – PDF, оптимизированный для чтения на eBook;
- .isilo3.pdb – iSilo (мультиплатформенная старенькая читалка);
- .doc.prc.zip – файл palm doc. Формат читает множество старых и не очень программ;
- .lit – формат файлов читалки Microsoft Reader;
- .rb – формат для устройства Rocket eBook и REB1100;
- .epub – epub, новый перспективный формат электронных книг, разработанный Adobe;
- .lrf – формат, который понимают Sony Reader-ы;
- mobi.prc – файлы для моби-ридера. Подходит для электронных книг Amazon Kindle.
Запросы для книг типа 1 и 4 (mp3, pdf)
Запрос download_my_book отправляется на catalit.litres.ru. При этом следует передать параметры:
- sid* – SID, идентифицирующий пользователя;
- art* – ID запрашиваемой книги (целое положительное число);
- file* – ID файла книги, которую следует отдать. Каждая группа внутри тега files имеет идентификатор group_id:
для контента с типом 1 (аудиокниги):
- 1 – Ознакомительный фрагмент. MP3, 128 Kbps;
- 2 – Копия оригинального диска. MP3-файлы в самораспаковывающемся RAR-архиве;
- 3 – Стандартное качество. MP3, 128 Kbps;
- 4 – Мобильная версия. MP4, 16 Kbps;
- 5 – Стандартное качество. MP3, 192 Kbps;
- 6 – Мобильная версия. MP4, 32 Kbps;
- 7 – Стандартное качество. MP3, 64 Kbps;
- 8 – Дополнительные материалы;
- 19 – Мобильная версия. MP4, 64 Kbps;
- 20 – MP3 файлы в zip архиве;
для контента с типом 4 (PDF):
- 9 – Ознакомительный фрагмент pdf;
- 10 – PDF-книга;
- 11 – Обложка в PDF (PoD);
- 15 – Дополнительные материалы.
Одной PDF-книге (тип 1) может соответствовать несколько файлов, например, – Volume1.pdf, Volume2.pdf, для аудиокниг (тип 4) – также множество mp3-файлов.
Отдача сервером файла книги
В случае успешной авторизации в ответ на запрос будет передан файл. При этом в заголовке будет указан тип содержимого, например, application/zip для файла fb2. Также передается поле «Content-Disposition: attachment; filename="file-name.ext"» с указанием рекомендованного имени файла для книги.
Ошибки при скачивании файла книги
В случае возникновения ошибок, сервер возвращает в заголовке тип содержимого, отличный от application/zip. При не фатальных ошибках сервера будет возвращен XML-код, содержащий дополнительную информацию об ошибке. Возможные варианты ответа сервера с информацией об ошибке:
- <catalit-authorization-failed/>
- <catalit-download-failed error="1" coment="Book not purchased"/>
- <catalit-download-failed error="100" coment="File not found, internal error"/> – Ошибка скачивания книги. В поле @coment передается текстовое описание ошибки, в поле @error – код ошибки. Возможные численные ID ошибок:
- 1 – попытка скачать книгу, которая не была приобретена данным читателем;
- 2 – исчерпан лимит загрузок для данной книги;
- 100 – внутренняя ошибка сервера.