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.
URL | |||
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 | 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 |
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 | 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)
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:
| |||||||
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.
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/inventory/" 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
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> <title>Tur i skogen</title> <author> <name>Kari Nordmann</name> </author> <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:firstpublished>2015-08-06T11:52:09Z</inv:firstpublished> <inv:deleted /> <inv:published>true</inv:published> <inv:access>false</inv:access> <inv:excerpt>false</inv:excerpt> </entry> <entry> <title>Lengre turer i skogen</title> <author> <name>Ola Nordmann</name> </author> <id>urn:uuid:8d9f423c-6caf-4f9c-aee4-8d8bb34656b2</id> <updated>2015-08-06T11:24:42Z</updated> <inv:isbn>9788242161024</inv:isbn> <inv:publisher>900224</inv:publisher> <inv:format>MP3</inv:format> <inv:drm>SDRM</inv:drm> <inv:version>5</inv:version> <inv:firstpublished /> <inv:deleted /> <inv:published>false</inv:published> <inv:access>false</inv:access> <inv:excerpt>false</inv:excerpt> </entry> </feed>