Inventory

This web service retrieves information about all e-/audio books available in DDS based on your users access rights and permissions. It is essential that you as a retailer check your inventory regularly (minimum every 24 hours) and update your store based on the information found in the inventory. The inventory only provides DDS specific data on each book and must be used in combination with the data from the Metadata Export Service The response is delivered in XML as an ATOM feed. 

Get inventory (v2)

The new interface for inventory is updated to support a larger volume of books with introducing a paging mechanism where you are sure that you are always getting books that have changes. (similar to the mechanism used in Metadata Export Service. For details on how to user next and after parameters see: Export Service#Parameters

 The performance of this endpoint is dramatically improved compared to v1 and you will be able to load this data much faster. However, note that you will see a much larger number of books with access=false if you do not have a contract to sell international titles. Still, with the significant improvement in load time this is a more efficient way of loading Inventory data for Norwegian titles as well.

 

Note that if you do lookup on isbn, all versions of the book will be returned, not just the latest one.

New Authentication & URLs introduced Q2 2024

URL

https://api.bokbasen.io/dds/inventory/v2

https://api.bokbasen.io/dds/inventory/v2/{isbn}

 

https://api.dds.boknett.no/v2/inventory/

https://api.dds.boknett.no/v2/inventory/{isbn}

The token acquired from the Authentication Service. Example: Authorization: Boknett TGT-....

Header: Date is required. The timestamp the request was made. Must comply with RFC 1123 date formats. Example: Tue, 10 Jun 2014 16:23:42 GMT

 

Method

GET

Request
headers

Authorization

Required

The token acquired from the https://bokbasen.jira.com/wiki/spaces/api/pages/2994962433 .

Audience: https://api.bokbasen.io/dds/

Example: Authorization: Bearer ....

Query
parameters

after

Required if next not given



next

Required if after not given



pagesize

optional

(default and max value is 10000)

Response
headers



Content-Type

application/atom+xml;charset=UTF-8



Next

next token for next page



Link

link to next page

Response
body

ATOM Inventory XML format (same format as before, however only latest version of each book is returned and some fields are removed)

Returns

200

OK

40x

On error

Curl example

Initial load using after (timestamp) - if you are not using your persisted next from last call/session

curl -i \ -H "Authorization: Bearer <token>" \ "https://api.bokbasen.io/dds/inventory/v2?after=20140501120000" HTTP/1.1 200 OK Date: Fri, 07 Aug 2015 11:19:45 GMT Content-Type: application/atom+xml;charset=UTF-8 (ATOM Inventory XML)

Curl example legacy example

Initial load using after (timestamp) - if you are not using your persisted next from last call/session

curl -i \ -H "Authorization: Boknett TGT-19933-EcDNpJfVcJNrpcMeGvGKcfUHvV1W2MR50zb066X6vTZVTypXBQ-login.boknett.no" \ -H "Date: Fri, 07 Aug 2015 11:18:39 GMT" \ "https://api.dds.boknett.no/v2/inventory/?after=20140501120000" HTTP/1.1 200 OK Date: Fri, 07 Aug 2015 11:19:45 GMT Content-Type: application/atom+xml;charset=UTF-8 (ATOM Inventory XML)

ATOM Inventory XML format for v2

For v2 some fields are removed, contact us if we have removed fields that are important for your process. 

Example XML:

<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:inv="http://bokbasen.no/module/inventory/1.0"> <title>Inventory Items</title> <link rel="self" type="application/atom+xml" href="http://api.dds.boknett.no/inventory/" title="Inventory feed" /> <updated>2015-08-07T11:19:45Z</updated> <entry> <id>urn:uuid:99496f82-84c5-4de7-9899-31603e26a355</id> <updated>2015-08-06T11:52:09Z</updated> <inv:isbn>9788242160966</inv:isbn> <inv:publisher>900224</inv:publisher> <inv:format>MP3</inv:format> <inv:drm>SDRM</inv:drm> <inv:version>1</inv:version> <inv:deleted /> <inv:published>true</inv:published> <inv:access>false</inv:access> <inv:excerpt>false</inv:excerpt> </entry> </feed>

Inventory XML element documentation

Element <name>

Explanation

Element <name>

Explanation

title

Title of book

author

name

Name of author 

id

The id of the digital resource representing the book. (Referred to as uuid or reId) Note that this ID can change at any time if the publisher of the book publishes a new version of the digital file. 

updated

Last time resource was updated

inv:isbn

ISBN of book 

inv:publisher

Id of publisher 

inv:format

Format of the file (always MP3 for audio books even if they are distributed in different formats)

inv:drm

What kind of DRM protection the book have, possible values are: SDRM, TDRM, NODRM, or UNKNOWN

inv:version

Version number for the digital resource. Starts with 1 and increments if new version of the digital book is published.

inv:firstpublished

Date book was first published

inv:deleted

Date book was deleted (empty value if not deleted)

inv:published

If the books in published, you cannot initiate downloads on a book that is not published.

inv:access

Role based, do you as an integrator have access to this book? Must be true in order for you to sell the title.

inv:excerpt

If excerpts are available through DDS. (Will always be false for audio books as these are distributed through the metadata API.)

 

Get inventory (v1) Deprecated

The get inventory service can give data on your entire catalogue or detailed information on one specific title.

This service is deprecated for inventory v2.

 

URL

https://api.dds.boknett.no/inventory/

Method

GET

Request
headers

Authorization

Required

The token acquired from the Authentication Service.

Formated "Boknett TGT-...."

Date

Required

The timestamp the request was made. Must comply with RFC 1123 date formats. Example: Tue, 10 Jun 2014 16:23:42 GMT

Query
parameters

id

Optional

UUID (also called resId) of the ebook that you want information about, use this parameter only if you want detailed information about one single title.

isbn

Optional

Same as id only based on isbn to give information about a specific title (will always reply with data on latest version of digital book for the isbn)

fromDate

Optional

From date for the response dataset

toDate 

Optional

The type of notification, which can be updated (new and updated elements) and deleted. Empty or missing parameter will result in both updated and deleted elements.

state

Optional*

Status that can be used for filtering.

*If fromDate or toDate is given, this is mandatory

Possible values:

  • PUBLISHED

  • UNPUBLISHED

  • CREATED

  • MODIFIED

  • DELETED

  • FIRST_PUBLISHED

  • ACCESS

Response
headers

 

Content-Type

application/atom+xml;charset=UTF-8

Response
body

ATOM Inventory XML format (see details further down on this page)

Returns

200

OK

40x

On error

Details on state and fromDate / toDate parameters

These parameters works together differently based on which data type the field in state has. For all fields that are dates (UNPUBLISHED, CREATED, MODIFIED, FIRST_PUBLISHED, DELETED) the fromDate / toDate parameters are used in combination with the state field. So state=MODIFIED&fromDate=08082015&toDate=10082015 will only returned books that are modified in this time period. If not state is given in combination with the date fields MODIFIED will be used as default.

For boolean fields (PUBLISHED, ACCESS) the dateFields have no impact and state=ACCESS will just return all books you have access to.

Example (curl)

Download inventory for your user.

 

ATOM Inventory XML format

 

Example XML: