Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Oppsummert

Vi har i lengre tid skrevet oss ut av en gammel platform for metadata. Dagens løsning har en absolutt sluttdato som gjør at vi må skru av gamle tjenester i mai 2024. Ifm. denne moderniseringen bytter vi også løsning for pålogging, og går over til OAuth 2.0 standarden for både API-klienter og sluttbrukere.

Noen tjenester vil slutte å fungere på gammel URL (metadata), mens andre vil man kunne bruke som før (DDS, Bokskya, Ordre).

Men for å slippe å forholde seg til ulike påloggingsløsninger og API-generasjoner, så anbefaler vi at man skriver om all API-bruk til disse nye endepunktene.

Datoer for utfasing

Note

Utfasingsdato er nært forestående: 21.05.2024

  • Forhandlere:

    • Onix Export (prod) ikke lenger mulig å nå med gamle URLer: 21.05.2024

    • Object Export (prod) ikke lenger mulig å nå med gamle URLer: 21.05.2024

  • Forlag og distributører:

    • Onix Import (prod) ikke lenger mulig å nå med gamle URLer: 21.05.2024

    • Object Import (prod) ikke lenger mulig å nå med gamle URLer: 21.05.2024

Når er nye endepunkter tilgjengelige?

  • Nye URLer i test, tilgjengelig fra 20.03.2024

    • Vi sender ut påloggingsinformasjon fortløpende fra denne dato

  • Nye URLer i prod, tilgjengelig fra 22.03.2024

    • Forhandlere har allerede fått nye URLer og påloggingsinformasjon for Onix Export (november 2023)

    • Vi sender ut påloggingsinformasjon fortløpende

Berørte APIer

Info

Vi anbefaler å bytte alle APIer, men det er metadata (Onix og Object) som haster

Forhandlere

...

(warning) Må bytte:

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

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

Anbefaler å bytte:

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 (

    currently

    current URL: api.order.boknett.no)

Utgivere og distributører

  • (warning) Må bytte:

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

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

...

    • 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 (test-environment)metadata, see Use of Audience

dds

https://api.stage.bokbasen.io/metadatadds/

ddsbokskya

https://api.stage.bokbasen.io/ddsbokskya/

bokskyaorders

https://api.stage.bokbasen.io/bokskyaorders/

ordersreporting

https://api.stage.bokbasen.io/ordersreporting/

Test Production -vs- productionsTest/stage

  • Login/auth for prod → Remove .stageAudience for prod → Remove .stageauth.bokbasen.io -vs- auth.stage.bokbasen.io

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

  • API-endpoints for prod → Remove .stage

...

  • 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 (test-environment)

metadata

(warning) Import Service (warning)

POST

GET

GET

https://api.stage.bokbasen.io/metadata/export/onix/v1

Auth
Audience

API

Method

New endpoint URL (test-enviroment)

metadata

(warning) ONIX (warning)

GET

(warning) Objects (warning)

GET

https://api.stage.bokbasen.io/metadata/export/object/v1

dds

Inventory

GET

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

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

Orders and reporting

POST

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

Bokbasen distributes binaries to the end user

POST

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

Content download

GET

GET

GET

GET

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

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

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

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

bokskya

Bookshelf / OPDS

GET

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

IDM

POST

GET

GET

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

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

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

orders

Send Order

Status
colourYellow
titleNew required header

POST

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

Update order line

POST

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

Update order line status

POST

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

Get Order data

GET

GET

GET

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

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

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

Endpoints for Publishers & Distributors

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.

Note

The Object Import API will be limited to 6MB payload

Contact us if this is a problem for you, so we can talk about alternatives.

reporting

Reporting from subscription services

POST

https://api

.stage

.bokbasen.io/

metadata

reporting/

import/onix/v1

https://api.stage.bokbasen.io/metadata/import/onix/v1/status/{id}

https://api.stage.bokbasen.io/metadata/import/onix/v1/status/all

https://api.stage.bokbasen.io/metadata/import/object/v1

orders

Get Order data

GET

GET

GET

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

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

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

streaming/v1

How can I test?

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