/patron/authentication Authenticate patron
Authenticate patron by credentials.
Eksempel på kall
cURL
curl -X POST "$PLAS_BASE_URL/patron/authentication?version=0.6.3" \
-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/authentication?version=0.6.3`, {
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/authentication",
params={
"version": "0.6.3",
},
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() PLAS_BASE_URL providerens adresse · PLAS_TOKEN et access token.
Parametere
Felles for operasjonene: version. Se den felles kontrakten på versjonssiden.Request body
application/json · påkrevd · PatronAuthenticationRequestBody Authentication Patron
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:
localan identifier for one local libraryemailan email address.phonea phone number.
Norway specific:
norway_national_library_cardthe Norwegian national library card.norway_national_birth_numberthe Norwegian "Fødselsnummer".
- valuestringpåkrevd
Identifier value. This information may be sensitive.
- passwordstringpåkrevd
Password for identifier.
Svar
200 Success PatronAuthenticationResponseBody
Eksempel
{
"patron": {
"address": {
"city": "Nordby",
"country": "Norway",
"postalCode": "0182",
"street": "Storgata 12"
},
"emails": [
{
"default": true,
"email": "kari.nordmann@example.no",
"verified": "yes"
}
],
"fullName": "Kari Nordmann",
"givenName": "Kari",
"identifiers": [
{
"type": "local",
"value": "N00012345"
}
],
"patronId": "40218873",
"permissions": [
{
"reason": "The patron has unpaid fees above the library’s limit.",
"status": "allowed",
"type": "off_hours"
}
],
"phoneNumbers": [
{
"default": true,
"number": "+4791234567",
"type": "mobile",
"verified": "yes"
}
],
"pickupLocation": {
"branchId": "nordby-main",
"branchName": "Nordby Main Library",
"sections": [
{
"id": "nordby-main-children",
"name": "Children’s department",
"type": "department"
}
]
},
"reservation": {
"postpone": {
"fromDate": "2025-03-01",
"toDate": "2025-03-31"
}
},
"surname": "Nordmann"
}
} Skjema
PatronAuthenticationResponseBody
Vis 11 felterSkjul 11 felter
- addressPatronAddress
Vis 4 felterSkjul 4 felter
- citystringpåkrevd
This field refers to the city, town, or locality where the address is located.
- countrystring
This field specifies the name of the country where the address is located.
- postalCodestring
This field represents the numeric or alphanumeric code assigned to a specific area for efficient mail sorting and delivery.
- streetstringpåkrevd
This field represents the name of the road, street, or thoroughfare where the address is located.
The field should also contain the building number assigned to a building at the location, and the field should also contain identifiers such as apartment numbers, suite numbers, or floor numbers.
The size of this array must not exceed (if specified) the ´maxNumberOfEmailAddresses´ value given in the configuration.
Vis 3 felterSkjul 3 felter
- defaultboolean
At most one email can de marked as default.
- emailstringpåkrevd
Patron email, following RFC 5322.
- verifiedstring
Tells the state of verification of the email.
Én av: yes · no · pending
- fullNamestringpåkrevd
FullName is always provided, but givenName and surname are only specified if the data is organized in such a detailed manner.
- givenNamestring
Patron's given name.
- identifiersarray of PatronIdentifierTypeAndValue
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:
localan identifier for one local libraryemailan email address.phonea phone number.
Norway specific:
norway_national_library_cardthe Norwegian national library card.norway_national_birth_numberthe Norwegian "Fødselsnummer".
- valuestringpåkrevd
Identifier value. This information may be sensitive.
- patronIdstringpåkrevd
Unique patron identifier (unique for that customer).
- permissionsarray of object
This is a list of activities, locations, etc. that the patron is either allowed or blocked from accessing.
Vis 3 felterSkjul 3 felter
- reasonstring
Human readable text that explains why the patron is blocked.
- statusstringpåkrevd
Én av: allowed · blocked
- typestringpåkrevd
Some suggested access types:
off_hoursAccess to the libraries outside normal opening hours.self_serviceBlock checkout and checkin on self service clients.exclusionPatron is excluded from all library uses.
The size of this array must not exceed (if specified) the ´maxNumberOfPhoneNumbers´ value given in the configuration.
Vis 4 felterSkjul 4 felter
- defaultbooleanpåkrevd
At most one phone number can be marked as default.
- numberstringpåkrevdmønster ^\+[1-9]\d{1,14}$
The phone number, in ITU standard E.164 format.
- typestringpåkrevd
This tells which type of phone the number is associated with
Én av: mobile · landline
- verifiedstring
Tells the state of verification of the phone number.
Én av: yes · no · pending
The object tells where a reservation item can be picked up.
This is the default pickup location for the patron.
Vis 3 felterSkjul 3 felter
- branchIdstringpåkrevd
The branch ID where a reservation should be picked up.
- branchNamestringpåkrevd
This is the name of the branch.
This are specifying the location more precisely.
- reservationPatronInfoReservation
Vis 1 feltSkjul 1 felt
- postponeobject
This describes an interval (possibly an open interval, but only in one end) where the patron is not interested in reservations being fulfilled, e.g. while on vacation.
- surnamestring
Patron surname.
400 The list of errors. Errors
Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.
Eksempel
{
"errors": [
{
"code": 200103,
"info": "200103: invalid/unsupported query parameter value"
}
]
} Skjema
The first error should always be the most relevant.
Vis 2 felterSkjul 2 felter
- codeintegerpåkrevd
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 av: 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åkrevd
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.
Felles svar, definert én gang for hele API-et. Se den felles kontrakten på versjonssiden.
Ikke noe innhold i svaret.