Версия документа | 1.01 |
---|---|
Дата последнего обновления | 27 мая 2020 г. |
Адрес постоянного размещения | https://docs.litres.ru/x/JQJUAg |
Общее описание
Компания «ЛитРес» реализовала простой API, позволяющий пользователям «ВКонтакте» скачивать файл книги в различных форматах с ресурсов «ЛитРес», если они купили эту книгу либо получили ее другим законным способом. Пользователям, не купившим книгу, доступно получение ее ознакомительного фрагмента с последующей покупкой полной версии книги на «ЛитРес».
Проверку текущего правового статуса произведения необходимо проводить, используя «API Антипиратство».
Получение файла книги/ознакомительного фрагмента
Если в результате проверки правового статуса книги оказалось, что она защищена авторским правом, то необходимо, используя URL: https://www.litres.ru/get_vk_book и, передав обязательные параметры (см. Формат запроса), возвращать результат обработки запроса пользователю. Для пользователей с идентификатором «ВКонтакте» (vkid), известным в «ЛитРес» и, купившим данную книгу, загрузка файла полной версии книги начнется автоматически. Во всех остальных случаях пользователю будет доступен для скачивания ознакомительный фрагмент (см. «Ознакомительные фрагменты для текстовых книг») или покупка книги.
Формат запроса
URL https://www.litres.ru/get_vk_book принимает запросы со следующими параметрами:
- art – уникальный ID скачиваемой книги;
- vkid – уникальный ID пользователя сервиса «ВКонтакте», которому принадлежит скачиваемая книга;
- timestamp – текущий UNIX-таймстамп, время в секундах с 00:00:00 UTC 1 января, 1970. Обрабатываются вызовы, имеющие timestamp не старше 10 минут от текущего времени;
sha-256 – подпись запроса. В языке Perl формируется как:
Digest::SHA::sha256_hex($art.':'.$timestamp.':'.$vkid.':'.$secret)
, где secret – секретный ключ, выданный со стороны «ЛитРес»;
- type – формат выгружаемого файла. По умолчанию, если параметр type не был передан, файл пользователю будет выгружен в формате fb2.zip. Допустимые значения:
- fb2.zip – зипованный FB2;
- html.zip – зипованный HTML;
- txt – текстовый файл;
- txt.zip – зипованный TXT;
- rtf.zip – зипованный RTF;
- a4.pdf – PDF, оптимизированный для печати на A4;
- a6.pdf – PDF, оптимизированный для чтения на eBook;
- epub – новый перспективный формат электронных книг, разработанный Adobe;
- ios.epub – формат epub оптимизированный для чтения устройствах iOS;
- fb3 – новый формат книг, разработанный на основе fb2;
- mobi – файлы для моби-ридера.
Все перечисленные параметры, кроме type, являются обязательными.
Формат успешного ответа сервера
В случае успеха сервер отдаст пользователю файл запрашиваемой книги соответствующего формата. Загрузка файла в браузере пользователя начнется автоматически.
Формат ответа сервера в случае ошибки
В случае ошибки, пользователь будет перенаправлен на URL: vk.com/litreserror?err=,
где
- err – код ошибки. Возможны следующие значения:
err | Сообщение пользователю | Описание |
---|---|---|
1 | При получении книги возникла непредвиденная ошибка | Пользователь с указанным идентификатором vkid не существует. Проверьте правильность значения, переданного в параметре vkid |
2 | Запрошенная книга не существует | Отсутствует книга с таким ID. Проверьте значение, переданное в параметре art |
3 | Запрошенная книга не принадлежит Вам | Запрашиваемая книга не принадлежит пользователю |
4 | При получении книги возникла непредвиденная ошибка | Для данной книги не поддерживается указанный в запросе формат |
5 | Указан неверный формат файла книги. Возможны только те значения параметра type, которые перечислены в разделе Формат запроса | |
6 | Ссылка на книгу больше недействительна. Для получения новой ссылки обновите страницу, с которой Вы выполнили переход | Указана неверная подпись в параметре sha-256. Правила формирования подписи указаны в разделе Формат запроса |
7 | UNIX-таймстамп просрочен. Необходимо указывать текущее значение в параметре timestamp | |
8 | При получении книги возникла непредвиденная ошибка | Превышен лимит скачиваний пользователем файла книги |