Ingen beskrivelse i specifikationen.

3 operationer
POST /patron/registration/identifier

This will create a new patron, by the given identifier.

Bearer-token RegisterPatronByIdentifier

Eksempel på kald

cURL

curl -X POST "$PLAS_BASE_URL/patron/registration/identifier?version=0.6.4" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "identifier": {
    "type": "local",
    "value": "N00012345"
  },
  "password": "correct-horse-battery",
  "pickupLocation": {
    "branchId": "nordby-main",
    "sections": [
      {
        "id": "nordby-main-children",
        "type": "department"
      }
    ]
  },
  "registry": "national"
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/registration/identifier?version=0.6.4`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "identifier": {
      "type": "local",
      "value": "N00012345"
    },
    "password": "correct-horse-battery",
    "pickupLocation": {
      "branchId": "nordby-main",
      "sections": [
        {
          "id": "nordby-main-children",
          "type": "department"
        }
      ]
    },
    "registry": "national"
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/registration/identifier",
    params={
        "version": "0.6.4",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "identifier": {
            "type": "local",
            "value": "N00012345",
        },
        "password": "correct-horse-battery",
        "pickupLocation": {
            "branchId": "nordby-main",
            "sections": [
                {
                    "id": "nordby-main-children",
                    "type": "department",
                },
            ],
        },
        "registry": "national",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Request body

application/json · påkrævet · PatronRegistrationIdentifierRequestBody
  • identifierPatronIdentifierTypeAndValuepåkrævet
    Vis 2 felterSkjul 2 felter
    • typestring

      A type identifier that tells which type of identifier is used.

      It is recommended to use one of the following types:

      • local an identifier for one local library
      • email an email address.
      • phone a phone number.

      Norway specific:

      • norway_national_library_card the Norwegian national library card.
      • norway_national_birth_number the Norwegian "Fødselsnummer".
    • valuestringpåkrævet

      Identifier value. This information may be sensitive.

  • passwordstringpåkrævet

    Password for identifier.

  • pickupLocationPickupLocationWithoutNamespåkrævet
    Vis 2 felterSkjul 2 felter
    • branchIdstringpåkrævet

      The branch ID where a reservation should be picked up.

    • This are specifying the location more precisely.

      Vis 2 felterSkjul 2 felter
      • idstringpåkrævet

        This is the section (element) ID

      • typestringpåkrævet

        This should be the section type of the section (element) ID.

  • registrystring

    If against GET /patron/registration/possible, it has been checked that a patron can be registered, the registry can be added here, else it is up to the provider to choose.

Svar

200 Success PatronRegistrationIdentifierResponseBody
Genereret ud fra skemaet

Eksempel

{
  "message": "I accept the library’s terms of use.",
  "patronId": "40218873",
  "status": "done"
}

Skema

PatronRegistrationIdentifierResponseBody

  • messagestring

    Message to the patron, with information about the registration process.

  • patronIdstring

    If status is 'done' this should be set, else the user needs to log in again.

  • statusstringpåkrævet

    This describes the state of the registration process.

    Én af: done · in_progress · contact_the_library

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      A number representing the type of error.

      List of error codes:

      • \<error code\>: \<error description\>
      • 500: System error
      • 600: Unsupported Open Library API version
      • 10001: Endpoint disabled
      • 71001: Consent has not been given for 'loan history'
      • 100001: Wrong patron username or password
      • 100023: Patron ID not found
      • 100211: maxNumberOfEmailAddresses exceeded
      • 100215: maxNumberOfPhoneNumbers exceeded
      • 100221: Pickup location cannot contain sections
      • 100411: Updating patron consent failed
      • 100611: Updating patron notification settings failed
      • 101001: Reservation ID not found
      • 101047: Branch ID cannot be used as pick up branch
      • 101053: Section ID cannot be used as pick up branch
      • 102001: Loan ID not found
      • 102301: Loan not renewable, because it is an interlibrary loan
      • 102311: Loan not renewable, because it is reserved
      • 110001: Branch ID not found
      • 200001: Publication ID not found
      • 200077: ui language not supported
      • 200101: missing required query parameter
      • 200103: invalid/unsupported query parameter value
      • 300001: Initialize payment should not be used
      • 300005: Initialize payment should be used
      • 300009: Payment method not supported
      • 300013: Payment method does not support partial payment
      • 300301: Finalized payment can not de changed
      • 300311: FinalizePaymentRequest.fees contains fees with the same ID
      • 310001: Loan history ID not found
      • 310011: Loan history ID already exists
      • 330001: List ID not found
      • 330011: List ID already exists
      • 330101: List item ID not found
      • 330111: List item ID already exists

      Én af: 500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111

    • infostringpåkrævet

      Starts with the text matching the error code field (defined above), and a describing text could be added.

401 Bearer token invalid, missing, or expired.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

GET /patron/registration/identity-provider

This will redirect the user to the chosen identity provider, for signup.

Bearer-token RegisterPatronByIdentityProvider

This will redirect the user to the chosen identity provider, and create the user in the LMS. See a sequence flow diagram.

Eksempel på kald

cURL

curl -X GET "$PLAS_BASE_URL/patron/registration/identity-provider?type=bankid&version=0.6.4" \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN"

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/registration/identity-provider?type=bankid&version=0.6.4`, {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
});
const data = await response.json();

Python

import os
import requests

response = requests.get(
    f"{os.environ['PLAS_BASE_URL']}/patron/registration/identity-provider",
    params={
        "type": "bankid",
        "version": "0.6.4",
    },
    headers={
        "Accept": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

typepåkrævet
query · string

Identity provider type. The different types are defined in the /configuration endpoint.

Eksempel: bankid
Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Svar

200 Success PatronRegistrationIdentityProviderResponseBody
Genereret ud fra skemaet

Eksempel

{
  "message": "I accept the library’s terms of use.",
  "patronId": "40218873",
  "status": "done"
}

Skema

PatronRegistrationIdentityProviderResponseBody

  • messagestring

    Message to the patron, with information about the registration process.

  • patronIdstring

    If status is 'done' this should be set, else the user needs to log in again.

  • statusstringpåkrævet

    This describes the state of the registration process.

    Én af: done · in_progress · contact_the_library

400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      A number representing the type of error.

      List of error codes:

      • \<error code\>: \<error description\>
      • 500: System error
      • 600: Unsupported Open Library API version
      • 10001: Endpoint disabled
      • 71001: Consent has not been given for 'loan history'
      • 100001: Wrong patron username or password
      • 100023: Patron ID not found
      • 100211: maxNumberOfEmailAddresses exceeded
      • 100215: maxNumberOfPhoneNumbers exceeded
      • 100221: Pickup location cannot contain sections
      • 100411: Updating patron consent failed
      • 100611: Updating patron notification settings failed
      • 101001: Reservation ID not found
      • 101047: Branch ID cannot be used as pick up branch
      • 101053: Section ID cannot be used as pick up branch
      • 102001: Loan ID not found
      • 102301: Loan not renewable, because it is an interlibrary loan
      • 102311: Loan not renewable, because it is reserved
      • 110001: Branch ID not found
      • 200001: Publication ID not found
      • 200077: ui language not supported
      • 200101: missing required query parameter
      • 200103: invalid/unsupported query parameter value
      • 300001: Initialize payment should not be used
      • 300005: Initialize payment should be used
      • 300009: Payment method not supported
      • 300013: Payment method does not support partial payment
      • 300301: Finalized payment can not de changed
      • 300311: FinalizePaymentRequest.fees contains fees with the same ID
      • 310001: Loan history ID not found
      • 310011: Loan history ID already exists
      • 330001: List ID not found
      • 330011: List ID already exists
      • 330101: List item ID not found
      • 330111: List item ID already exists

      Én af: 500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111

    • infostringpåkrævet

      Starts with the text matching the error code field (defined above), and a describing text could be added.

401 Bearer token invalid, missing, or expired.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.

POST /patron/registration/possible

This will tell if it is possible to register a new patron, using the given identifier.

Bearer-token IsPatronRegistrationPossible

This will tell if it is possible to register a new patron, using the given identifier.
The patron can then be registered through POST /patron/registration/identifier.

Eksempel på kald

cURL

curl -X POST "$PLAS_BASE_URL/patron/registration/possible?version=0.6.4" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $PLAS_TOKEN" \
  -d '{
  "identifier": {
    "type": "local",
    "value": "N00012345"
  },
  "password": "correct-horse-battery"
}'

JavaScript

const response = await fetch(`${process.env.PLAS_BASE_URL}/patron/registration/possible?version=0.6.4`, {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": `Bearer ${process.env.PLAS_TOKEN}`,
  },
  body: JSON.stringify({
    "identifier": {
      "type": "local",
      "value": "N00012345"
    },
    "password": "correct-horse-battery"
  }),
});
const data = await response.json();

Python

import os
import requests

response = requests.post(
    f"{os.environ['PLAS_BASE_URL']}/patron/registration/possible",
    params={
        "version": "0.6.4",
    },
    headers={
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": f"Bearer {os.environ['PLAS_TOKEN']}",
    },
    json={
        "identifier": {
            "type": "local",
            "value": "N00012345",
        },
        "password": "correct-horse-battery",
    },
)
data = response.json()
Værten og tokenet er miljøvariabler: PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.

Parametre

Fælles for operationerne: version. Se den fælles kontrakt på versionssiden.

Request body

application/json · påkrævet · IsPatronRegistrationPossibleRequestBody
  • identifierPatronIdentifierTypeAndValuepåkrævet
    Vis 2 felterSkjul 2 felter
    • typestring

      A type identifier that tells which type of identifier is used.

      It is recommended to use one of the following types:

      • local an identifier for one local library
      • email an email address.
      • phone a phone number.

      Norway specific:

      • norway_national_library_card the Norwegian national library card.
      • norway_national_birth_number the Norwegian "Fødselsnummer".
    • valuestringpåkrævet

      Identifier value. This information may be sensitive.

  • passwordstring

    Password for identifier.

Svar

200 Success IsPatronRegistrationPossibleResponseBody
Genereret ud fra skemaet

Eksempel

{
  "registries": [
    {
      "type": "norway_national_library_card"
    }
  ]
}

Skema

IsPatronRegistrationPossibleResponseBody

  • registriesarray of objectpåkrævet

    Any entry in this array is a possible way a new patron be registered through, based on the provided identifier.

    Vis 1 feltSkjul 1 felt
    • typestringpåkrævet

      Identifies the registry which a new patron can be registered through.

      A list of known registries:

      • norway_national_library_card
400 The list of errors. Errors

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Genereret ud fra skemaet

Eksempel

{
  "errors": [
    {
      "code": 200103,
      "info": "200103: invalid/unsupported query parameter value"
    }
  ]
}

Skema

Errors

  • errorsarray of Errorpåkrævetmin. antal 1

    The first error should always be the most relevant.

    Vis 2 felterSkjul 2 felter
    • codeintegerpåkrævet

      A number representing the type of error.

      List of error codes:

      • \<error code\>: \<error description\>
      • 500: System error
      • 600: Unsupported Open Library API version
      • 10001: Endpoint disabled
      • 71001: Consent has not been given for 'loan history'
      • 100001: Wrong patron username or password
      • 100023: Patron ID not found
      • 100211: maxNumberOfEmailAddresses exceeded
      • 100215: maxNumberOfPhoneNumbers exceeded
      • 100221: Pickup location cannot contain sections
      • 100411: Updating patron consent failed
      • 100611: Updating patron notification settings failed
      • 101001: Reservation ID not found
      • 101047: Branch ID cannot be used as pick up branch
      • 101053: Section ID cannot be used as pick up branch
      • 102001: Loan ID not found
      • 102301: Loan not renewable, because it is an interlibrary loan
      • 102311: Loan not renewable, because it is reserved
      • 110001: Branch ID not found
      • 200001: Publication ID not found
      • 200077: ui language not supported
      • 200101: missing required query parameter
      • 200103: invalid/unsupported query parameter value
      • 300001: Initialize payment should not be used
      • 300005: Initialize payment should be used
      • 300009: Payment method not supported
      • 300013: Payment method does not support partial payment
      • 300301: Finalized payment can not de changed
      • 300311: FinalizePaymentRequest.fees contains fees with the same ID
      • 310001: Loan history ID not found
      • 310011: Loan history ID already exists
      • 330001: List ID not found
      • 330011: List ID already exists
      • 330101: List item ID not found
      • 330111: List item ID already exists

      Én af: 500 · 600 · 100001 · 100023 · 100211 · 100215 · 100221 · 100411 · 100611 · 101001 · 101047 · 101053 · 102001 · 102301 · 102311 · 110001 · 200001 · 200077 · 200101 · 200103 · 300001 · 300005 · 300009 · 300013 · 300301 · 300311 · 310001 · 310011 · 330001 · 330011 · 330101 · 330111

    • infostringpåkrævet

      Starts with the text matching the error code field (defined above), and a describing text could be added.

401 Bearer token invalid, missing, or expired.

Fælles svar, defineret én gang for hele API’et. Se den fælles kontrakt på versionssiden.

Intet indhold i svaret.