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 – внутренняя ошибка сервера.