Important API-changes

Summary

For some time, we have been transitioning away from our old technical platform. We have completed step 1 of our transition (Q3 2024), and we are now preparing for the next phase. Now, even more API endpoints will change URLs and require our new authentication (OAuth 2.0).

End of Life is set to be: 31.01.2025

Affected APIs

  • Digital Distribution System (current URLs: api.dds.boknett.no/*, idp.dds.boknett.no/*)

    • Old endpoints will be turned off 01.02.2025

  • Order API (current URL: api.order.boknett.no)

    • Old endpoints will be turned off 01.02.2025

What do I need to do?

General

Audiences

The APIs are divided into several audiences (groups). Each API needs an access-token for the corresponding audience. So be sure to use the appropriate audience when fetching the token or you will get 403.

 

Audience-value to use with Auth, see Use of Audience

 

Audience-value to use with Auth, see Use of Audience

dds

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

bokskya

https://api.bokbasen.io/bokskya/

orders

https://api.bokbasen.io/orders/

reporting

https://api.bokbasen.io/reporting/

Production -vs- Test/stage

  • Login/auth → auth.bokbasen.io -vs- auth.stage.bokbasen.io

  • Audience → api.bokbasen.io -vs- api.stage.bokbasen.io

  • API-endpoints → api.bokbasen.io -vs- api.stage.bokbasen.io

New Endpoints

Each API has gotten a new URL. Here you can see a overview of the new URLs as well as the corresponding audience to use.

Auth
Audience

API

Method

New endpoint URL

Auth
Audience

API

Method

New endpoint URL

dds

Inventory

GET

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

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

Orders and reporting

POST

https://api.bokbasen.io/dds/order/v1

Bokbasen distributes binaries to the end user

POST

https://api.bokbasen.io/dds/order/subscription/v1

Content download

GET

GET

GET

GET

https://api.bokbasen.io/dds/content/v1/{fulfillmentId}

https://api.bokbasen.io/dds/content/v1/raw/{resourceId}

https://api.bokbasen.io/dds/content/v1/library/{resourceId}

https://api.bokbasen.io/dds/content/v1/{resourceId}/sample

bokskya

Bookshelf / OPDS

GET

https://api.bokbasen.io/bokskya/content/v1/{id}

IDM

POST

GET

GET

https://api.bokbasen.io/bokskya/account/v1

https://api.bokbasen.io/bokskya/account/v1/{id}

https://api.bokbasen.io/bokskya/account/v1/{email}

orders

Send Order New required header

POST

https://api.bokbasen.io/orders/v1

Update order line

POST

https://api.bokbasen.io/orders/v1/{id}/update

Update order line status

POST

https://api.bokbasen.io/orders/v1/{id}/lines/{lineId}

Get Order data

GET

GET

GET

https://api.bokbasen.io/orders/v1

https://api.bokbasen.io/orders/v1/{id}

https://api.bokbasen.io/orders/v1/{id}/editx

reporting

Reporting from subscription services

POST

https://api.bokbasen.io/reporting/streaming/v1

How can I test?

When you have gotten credentials (clientId + clientSecret) from Bokbasen.