Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
panelIconId1f510
panelIcon:closed_lock_with_key:
panelIconText🔐
bgColor#FFEBE6

Denne siden er STENGT fra offentligheten til den er klar

Table of Contents
stylenone

Bestemme oss for språk.

F.eks. norsk til ledelse, engelsk til teknisk guides.

Helst: unngå å måtte duplisere tekst på begge språk.

Summary of changes

TODO En kort tekst for ledelse CEO/CTO

Dates

TODO Frister

Stage-miljø tilgjengelig DATO

Vi sender ut påloggingsinformasjon DATO

Prod-miljø tilgjengelig med nye URLer DATO

Prod-miljø ikke lenger mulig å nå med gamle URLer DATO

Affected APIs

Retailers:

  • Onix Export API (current URLs: api.boknett.no/metadata/export/*)

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

  • Order API (currently: api.order.boknett.no)

Publishers & distributors:

  • Onix Import API (currently: api.boknett.no/metadata/import/*)

What do I need to do?

Retailers:

...

Table of Contents
stylenone

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).

Note

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

  • Change the authentication to Authentication Service

    • Each service has it’s own audience needed when fetching token

  • Change the URL for each API

    • No need for the previously required Date-header

  • Response-headers are considered to be case-insensitive

    • I.e. don’t only look for Location, the header might be called location

  • If you are getting 413 errors try to reduce pagesize in the call, we will have a period with reduced payload-capabilities (both request and response)

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

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

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

Status
colourYellow
titleNew 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.