Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Our distribution system for e-/audio books is called Digital Distribution System (DDS) and comprises of several services to online retailers. The following is a brief overview of the services described in this documentation.

...

Services to create and administrate user accounts and authorize reading devices and applications.

Overview of Users Books - Bokskya Bookshelf

...

It is the publisher who decides which DRM to use on the e-book. It is also an option not to use any DRM (NoDRM). DDS support to three types of DRM:

  • Adobe Content Server 4 (TDRM) - being phaced out

  • Watermarking (SDRM)

  • Readium LCP

About formats

Bokbasen supports the following audio book formats:

...

Metadata about e-/audio books are delivered as a separate service. Bokbasen delivers metadata about all types of books. You can read about formats and how to import and implement metadata to your site in the documentation for metadata services (Onix from Bokbasen and Metadata Export Service).
Established customers can contact us to start the delivery of metadata for e-/audio books in the same stream as received today.

...

Update and populate your system with data from the inventory service and the Bokbasen Metadata export API.

Note

IMPORTANT! First update your system with the required metadata from the API. This is not a part of the e-/audio book distribution; it's a separate service.

...

All DDS services have to be authenticated against the Bokbasen authentication service as described below. The Bokbasen authentication service is used across Bokbasen’s services, so you also use the same process for retrieving Metadata. The documentation for the authentication API is also available online at

Authentication Service

Bokbasen is renewing its Authentication service. Look her for more information.

Authentication Service (upcoming)

DDS Inventory

Introduction

...

Technical API documentation: https: //bokbasen.jira.com/wiki/display/api/Orders Orders and reporting

Downloading a product

The download service (/content) gives access to the end product based on an order placed in DDS. The process is the same for all kinds of content and delivery methods, but the client will need to handle the actual delivery different based on the format and delivery protocol (e.g. download of an EPUB vs. Streaming an Audio book over HLS). Which delivery methods used is based on the format of the file and the player-/reader application’s requirements.

...

Technical API documentation: https: //bokbasen.jira.com/wiki/display/api/Content + download

...

Which types and bitrates are available for a particular audio book?

...

In Bokskya (Cloud storage service) the consumer’s e-/audio books from all bookstores are put together in one shelf. A book is automatically linked to a consumers account when you place an order containing the consumer’s DDS-ID.

Info

A bookseller is required to activate orders on all users

...

.

...

The Bookshelf (represented by an OPDS-feed) is used to give the consumer access to download his books on any app or device that supports Bokskya. The store has access to fetching a customer’s OPDS-feed and deliver in an app, to a reading tablet or for download from the Bookstore (My Page).

In the OPDS-feed there are links to the REST interface to download all the consumer’s e- /audio books and references to fetch the cover image of the book.

Info

It is strongly recommended to use the OPDS feed to get the URL needed to access the book, as this is will most likely:

  • Reduce number of errors

  • Make your application more resilient to changes in DDS

Services for fetching the users Bokskya feed with all purchased books

...

See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25 for more details.

Note

NB! When using the If-Modified-Since header it is recommended that you use a date retrieved from the Last-Modified header of a previous request to the same service.
The reason for this is that the service expects that the parsed date retrieved from the If- Modified-Since-header is an exact match (with millisecond precision) to the date used in the Last-Modified header.


The service still respect and parses all the date-formats mentioned
in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 .

...

  1. If no: initiate GET /content/raw/ with the <id> found in inventory (which is resid)

  2. If yes check if <inv:version> is different from the one in your system

    1. If yes: initiate GET /content/raw/ with the <id> found in inventory (which is resid)

    2. If no: skip to next entry

Info

Note that this flow only describes how to find if there are new files available, you should also verify the access and published fields to see that the books are available to you.

Partners downloading raw files only after order is placed

...