Doorgaan naar de website
OCLC Support

Dokumentation REST API V1.7.2

Stand: November 2024

Allgemeines

Diese Anleitung beschreibt die von OPEN zur Verfügung gestellte REST API.

Zielgruppe sind Entwickler, welche die in OPEN enthaltene Funktionalität wie Recherche im Katalog, Detailanzeige von Medien, Anzeige / Ändern der Kontodaten eines Bibliotheksnutzers sowie der Services Durchführen einer Zahlung, Passwort ändern eines Bibliotheksnutzers, Ausweisverlängerung, Ausleihe, Verlängerung und Vorbestellung von Medien/Exemplaren in andere Anwendungen integrieren möchten.

Die REST API basiert auf offenen Standards, nutzt JSON als Kommunikationsformat sowie die http(s) Methoden GET, PUT, POST und DELETE.

Im Folgenden sind die jeweiligen Ressourcen sowie die jeweils möglichen Operationen im Detail beschrieben.

API-Key

Der Zugriff auf den Service ist über ein API-Key Verfahren abgesichert. Bitte beantragen Sie einen entsprechenden Schlüssel bei den zuständigen Ansprechpartnern der jeweiligen Bibliothek.

Sämtliche Anfragen an die REST-Schnittstelle müssen den persönlichen API-Key über den folgenden Parameter übertragen:

?APIKEY={APIKEY}

Anfragen ohne gültigen API-Key werden über den HTTP Statuscode 403 quittiert.

SSL

Der Zugriff auf sämtliche Ressourcen des Services ist ausschließlich über SSL möglich.

Authentifizierung

Sowohl der Zugriff auf personenbezogene Daten und Funktionen eines Lesers als auch die Nutzung von bestimmten systembezogenen Funktionen sind authentifizierungspflichtig.

Authentifizierungspflichtige Abfragen unter Leserkontext sind:

  • Get (a single) Patron

  • Get Patron Loans

  • Get Patron Reservations

  • Delete Reservation

  • Delete Patron Reservation

  • Get Patron Fees

  • Put / Post Loan Reemspquests

  • Get / Put / Post Renewal Requests

  • Get / Put / Post Reservation Requests

Post Patron Change Requests

Authentifizierungspflichtige Abfragen unter Systemkontext sind:

  • Post New Registration Requests

  • Post Password Reset Requests

  • Post Payments

  • Post Patron Card Change Requests

  • Post Patron Search Requests

  • Get Patrons (Duplicate Check)

  • Get Fees/Unpaid

Für den Zugriff auf die authentifizierungspflichtigen Ressourcen ist die Authentifizierung des besitzenden Nutzers erforderlich. Dies ist je nach Ressource entweder der betroffene Nutzer/Leser, oder der für die API eingerichtete Systembenutzer.

Der Zugriff wird ermöglicht durch die Übertragung der notwendigen Credentials im Authorization HTTP-Header. Dies sind entweder die vollständigen Base64 enkodierten Zugangsdaten des Nutzers (Basic) oder alternativ (ab v1.4) ein Zugriffstoken (Bearer).

HTTP-Header

Wert

Authorization

Basic Base64(Nutzername:Passwort)

Authorization

Bearer AccessToken

Anfragen ohne gültige Benutzerdaten werden über den HTTP Statuscode 403 quittiert.

Das Anfordern von Zugriffstoken wird im entsprechenden Kapitel zur Ressource Auth beschrieben.

Beispiel für die Generierung des Basic Authorization Headers

Ausweisnummer: 0000001

Passwort: secret

Authorization-Header: Basic MDAwMDAwMTpzZWNyZXQ=

Systembenutzer: OPENAPI

Passwort: secret

Authorization-Header: Basic T1BFTkFQSTpzZWNyZXQ=

Ressourcen

Die REST-API von OPEN stellt die folgenden Ressourcen bereit.

  • Auth

Die Ressource Auth dient der Abfrage von Zugriffstoken.

  • Catalogues

Die Ressource Catalogues dient der Abfrage von Mediendaten aus OPEN.
Anhand der übergebenen Medien-Id werden die Katalogdaten des Mediums ermittelt und an den REST-Client verschickt.

  • CatalogueCopies

Die Ressource CatalogueCopies dient der Abfrage von Exemplardaten aus BIBLIOTHECA.

Anhand der übergebenen Medien-Id wird eine Liste der mit dem Medium verknüpften Exemplare ermittelt und an den REST-Client verschickt. Es ist möglich über einen Parameter der Anfrage zu definieren, ob die Liste lediglich die verfügbaren Exemplare oder sämtliche Exemplare enthalten soll.

  • Zoeken

Die Ressource Search dient der Suche nach Medien im OPEN-Katalog.

Anhand des an diese Ressource im Parameter query übergebenen Suchbegriffs wird eine Suche durchgeführt und die ermittelten Treffer werden an den REST-Client verschickt.

  • Patrons

Die Ressource Patrons dient dem Auslesen von Benutzer-Daten.

Anhand der mit den Request-Properties übergebenen Zugangsdaten werden die Leserdaten ermittelt und an den REST-Client verschickt.

  • Patrons/ Loans

Die Ressource Loans dient der Abfrage der einzelnen Ausleih-Posten des Leserkontos.

Anhand der mit den Request-Properties übergebenen Zugangsdaten werden die Posten eines Leserkontos ermittelt und an den REST-Client verschickt.

  • Patrons/Reservations

Die Ressource Reservations dient der Abfrage der Vormerkungen des gerade angemeldeten Bibliotheksnutzers.
Anhand der mit den Request-Properties übergebenen Zugangsdaten werden die Vormerkungen eines Leserkontos ermittelt und an den REST-Client verschickt.

  • Patrons/ Fees

Die Ressource Fees dient der Abfrage des Gebührenkontos des gerade angemeldeten Bibliotheksnutzers.

Anhand der mit den Request-Properties übergebenen Zugangsdaten werden die offenen Gebühren eines Leserkontos ermittelt und an den REST-Client verschickt.

  • Patrons/Payments

Die Ressource Payments dient der Durchführung einer Zahlung.

  • Loan Request s
    Die Ressource LoanRequests dient der Durchführung von Ausleihanfragen auf Exemplare. Anhand einer in einem POST-Request als Parameter übergebenen Exemplar-Id kann eine Ausleihe für dieses Exemplar angefordert werden. Diese kann dann über einen PUT-Request durchgeführt werden.

  • Renewal Requests

Die Ressource RenewalRequests dient der Durchführung und Abfrage von Verlängerungsanfragen auf Exemplare. Anhand einer in einem POST-Request als Parameter übergebenen Exemplar-Id kann eine Verlängerung für dieses Exemplar angefordert werden. Diese kann dann über einen PUT -Request durchgeführt werden. Angeforderte Verlängerungen können über GET aus dieser Ressource angefordert werden.

  • Reservation Requests
    Die Ressource ReservationRequests dient der Durchführung und Abfrage von Vormerkungen auf Exemplare oder Medien. Anhand einer in einem POST-Request als Parameter übergebenen Medien- oder Exemplar-Id kann eine Vormerkung für dieses Katalog-Item angefordert werden. Diese kann dann über einen PUT-Request festgeschrieben werden. Angeforderte Vormerkungen können über GET aus dieser Ressource geholt werden.

  • Registration Requests

Die Ressource RegistrationRequests dient der Erstellung neuer Leser.

  • Patron Password Reset Requests
    Die Ressource PatronPasswordResetRequests dient dem Zurücksetzen eines Leser-Passworts.

  • Patron Account Renewal Requests
    Die Ressource PatronAccountRenewalRequests dient der Durchführung einer Ausweisverlängerung.

  • Patron Card Change Requests
    Die Ressource PatronCardChangeRequests dient dem Setzen einer Gültigkeit des Leserausweis (Gültig bis).

  • Patron Change Requests
    Die Ressource PatronChangeRequests dient dem Ändern von Benutzerdaten.

  • Pickup Branches

Die Ressource PickupBranches dient der Abfrage von Zweigstelleninformationen.

Mit Hilfe eines GET-Requests können entweder Daten zu allen in der Bibliothek vorhandenen Zweigstellen oder, bei zusätzlicher Angabe einer Ausweisnummer, Daten zu der/den Abholzweigstelle(n) eines konkreten Lesers aus der Ressource geholt werden.

  • Fees/Unpaid

Die Ressource Fees/Unpaid dient der Abfrage offener Gebühren aller Leser.

  • Branches

Die Ressource Branches dient der Abfrage von Zweigstelleninformationen.

  • CopyStatuses

Die Ressource CopyStatuses dient der Abfrage von Exemplarstatusinformationen.

  • MediaGroups

Die Ressource MediaGroups dient der Abfrage von Mediengruppeninformationen.

  • UserGroups

Die Ressource UserGroups dient der Abfrage von Benutzergruppeninformationen.

Auth

Über die Auth-Ressource können Zugriffstoken angefordert werden, welche für die Anfrage authentifizierungspflichtiger Ressourcen herangezogen werden können.

Die Lieferung von Refresh-Token ist optional und muss über die entsprechenden Angaben im AuthRequest angefordert werden. Default (leerer AuthRequest) führt dazu, dass kein Refresh-Token generiert wird.

Bei Anforderung von RefreshTokens müssen immer beide Parameter angegeben werden.

Data Types

Request

AuthRequest

Name

Type

Länge

Description

ClientUsername(*)

String

20

Systembenutzer, mit dem das RefreshToken verknüpft wird. Muss zusammen mit TimeToLive angegeben werden.

TimeToLive(*)

Int

 

Gültigkeitsdauer des RefreshTokens in Minuten.

(*) Optional

Response

TokenResponse

Name

Type

Description

AccessToken

String

AccessToken für die Authentifizierung

AccessTokenExpires

DateTime

Zeitpunkt bis zu dem das Token gültig ist.

Format:

2020-08-25T08:37:26+02:00

RefreshToken

String

RefreshToken, um neue AccessTokens zu generieren

Ist einmalig gültig. Beim Anfordern von AccessTokens über die Ressource Auth/Refresh wird ein neues RefreshToken übermittelt.

RefreshTokenExpires

DateTime

Zeitpunkt bis zu dem das Token gültig ist.

Format:

2020-08-25T08:37:26+02:00

PasswordChangeRequired

bool

Wert des Flags in der Datenbank, welches bestimmt ob ein Leser sein Passwort bei der nächsten Anmeldung in OPEN ändern muss.
Steht hier der Wert auf True, muss der Leser sein Passwort bei der nächsten Anmeldung in OPEN ändern.

Functions

Get an Authorization Token

Erstellt Zugriffstoken für die Authentifizierung über Tokens.

Die Autorisierung erfolgt über den Benutzer im Authorization-Header (Format Basic).

Enkodierung des Bodys ist UTF-8.

Result

TokenResponse

POST /auth

Parameters

None

Body

AuthRequest

Examples

Anforderung mit RefreshToken:

POST /auth?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

Content-Type: application/json

{

"ClientUsername":"OPENAPI",

"TimeToLive": 20160

}

Anforderung ohne RefreshToken:

POST /auth?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

Content-Type: application/json

{

}

Refresh

Refresh an Authorization Token

Erneuert Zugriffstoken für die Authentifizierung über Tokens.

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header. (Format Basic)

Enkodierung des Bodys ist UTF-8.

Data Types

Request

AuthRefreshRequest

Name

Type

Länge

Description

AccountNumber

String

15

Ausweisnummer

RefreshToken

String

 

RefreshToken aus dem AuthRequest bzw. dem AuthRefreshRequest

Functions

Get a new Authorization Token (Refresh)

Fordert ein neues Zugriffstoken unter Verwendung eines gültigen Refresh Tokens an.

Result

TokenResponse (siehe Ressource Auth)

POST /auth/refresh

Parameters

None

Body

AuthRefreshRequest

Example

POST /auth/refresh?APIKey=[***] HTTP/1.1

Authorization: Basic T1BFTkFQSTpzZWNyZXQ=

Content-Type: application/json

{

"AccountNumber":"0000001",

" RefreshToken ":"aaaAAAaaaaAAAAaaAA"

}

Catalogues

Abfrage von Mediendaten

Details zu Medien können über die Id abgefragt werden.

Data Types

Catalogue

Name

Type

Description

IsComprehensiveItem

Bool

True, wenn es sich um ein Gesamtwerk handelt. False, wenn es sich um ein Medium oder ein unselbstständiges Werk handelt (siehe MediaType).

IsEMedium

Bool

True, wenn es sich um ein e-Medium handelt. False, wenn es sich um ein physisches Medium handelt.

Id

String

BIBLIOTHECA Medien-Nummer

Title

String

Hauptsachtitel

SubTitle

String

Untertitel

MediaGroup

MediaGroupInformation

Mediengruppe des Mediums (Kürzel und Beschreibung)

MediaType

String

Medientyp (Kürzel)

Authors

List<String>

Verfasser

RecordIdentifier

String

Medienkennzeichen

ProductionYear

String

Erscheinungsjahr

Publisher

String

Verlag und Verlagsort (Verlag, Verlagsort)

Parent

String

Mediennr. des übergeordneten Werks

ParentTitle

String

Titel des übergeordneten Werks

Children

List<String>

Die untergeordneten Werke (Mediennummern)

AgeRating

String

Altersfreigabe

AttachedItems

List<String>

Beifügungen

VolumeNumberInfo

String

Bandangaben

EMedium

String

Link zum e-Medium

Links

List<String>

Links

Systematics

List<String>

Systematik

SubjectTypes

List<String>

Interessenkreise

Isbn

String

ISBN

Isbn2

String

2. ISBN

Issn

String

ISSN/

Ean

String

EAN

CoverUrl

String

URL zu dem Cover

SeriesTitle

String

Reihentitel

KeyWords

String

Schlagwörter

PersonsInvolved

List<String>

Beteiligte Personen

Languages

List<String>

Sprachen

OriginalTitle

String

Originaltitel

Footnote

String

Fußnote

Annotation

String

Annotation

Availability

Int

Verfügbarkeit

MediaGroupInformation

Name

Type

Description

Id

String

ID der Mediengruppe

Description

String

Name der Mediengruppe

Werte von MediaType:

M (Medium), U (Unselbstständiges Werk)

Functions

GET a single Catalogue

Liefert die Details zu einem Medium.

Result

Catalogue

GET /catalogues/{id}

Parameters

Name

Type

Länge

Description

id

String

15

BIBLIOTHECA Medien-Nummer

Example

GET https://localhost /OPEN/RESTv1/Catalogues/0143236?APIKey=[***] HTTP/1.1

CatalogueCopies

Über die Sub-Ressource CatalogueCopies können die Exemplardaten des Mediums abgefragt werden.

Data Types

CatalogueCopy

Name

Type

Description

Id

String

BIBLIOTHECA Exemplar-Nummer

Branch

LocationInformation

Zweigstelle

RecordIdentifier

String

Medienkennzeichen des Exemplars

SignatureColor

String

Signaturfarbe (RGB)

Bin

String

Bin

CopyStatus

CopyStatusInformation

Status

ReservationsCount

Int

Anzahl Vorbestellungen

IsAvailable

Bool

Verfügbarkeit (ja/nein)

DueDate

String

Frist

Comments

String

Ausleihhinweise

LoanLocation

LocationInformation

Die aktuelle Ausleihstelle

Barcode

String

Barcode

MediaGroup

MediaGroupInformation

Mediengruppe (Kürzel und Beschreibung)

FirstLocation

String

Signatur

SecondLocation

String

Standort 2

ThirdLocation

String

Standort 3

AgeRating

String

Altersfreigabe

CopyStatusInformation

Name

Type

Description

Id

String

ID des Status

Description

String

Name des Status

Werte von CopyStatusInformation (die Bibliothek kann zudem eigene Status

definieren):

E/Entliehen, P/Präsenzbestand, T/Transport, V/Verfügbar, Z/Zurückgelegt, t/Zum Transport
 

LocationInformation

Name

Type

Description

Id

String

ID des Standortes

Description

String

Name des Standortes

 MediaGroupInformation

Name

Type

Description

Id

String

ID der Mediengruppe

Description

String

Name der Mediengruppe

Functions

GET a list of CatalogueCopies for a specific catalogue

Liefert alle Exemplare eines Mediums.

Result

Array<CatalogueCopy>

GET /catalogues/{id}/copies

Parameters

Name

Type

Länge

Description

id

String

15

BIBLIOTHECA Medien-Nummer

Example

https://localhost /OPEN/RESTv1/Catalogues/0143236/Copies?APIKey=[***] HTTP/1.1

GET a list of CatalogueCopies for a specific catalogue

Liefert alle Exemplare eines Mediums mit der Möglichkeit, diese auf die verfügbaren Exemplare einzuschränken.

Result

Array<CatalogueCopy>

GET /catalogues/{id}/copies?onlyAvailable={onlyAvailable}

Parameters

Name

Type

Länge

Description

id

String

15

BIBLIOTHECA Medien-Nummer

onlyAvailable

String

 

True, wenn nur die verfügbaren Exemplare selektiert werden.

Example

https://localhost /OPEN/RESTv1/Catalogues/0143236/Copies?onlyAvailable=true&APIKey=[***]
HTTP/1.1

 

Patrons

Abfrage von Kontodaten des aktuellen Benutzer s

Personenbezogene Daten des Benutzers können über die Ressource Patrons sowie deren Subressourcen Loans, Reservations und Fees abgefragt werden.

Die Id des Nutzers sämtlicher Anfragen an die Ressource sowie deren Subressourcen muss übereinstimmen mit der über den Header gesendeten Autorisierungsinformation (Username sowie passendes Password, alternativ Token).

Data Types

PatronAccount

Name

Type

Description

FirstName

String

Vorname

LastName

String

Nachname

Address

String

Anschrift

PostalCode

String

Postleitzahl

City

String

Wohnort

PhoneNumber

String

Festnetznummer

MobileNumber

String

Mobilfunknummer

E-mail

String

E-Mail-Adresse

Age

Int

Alter (bei Institutionen null)

UserGroup

UserGroupInformation

Benutzergruppe

AccountNumber

String

Ausweisnummer

AccountActive

Bool

Gültigkeit Leserkonto

AccountValidTill

String

Gültigkeitsende der Benutzungsgebühr für den Leserausweis (Bezahlt bis)

CardValidTill

String

Gültigkeitsende Leserausweis (Gültig Bis)

AccountMessage

String

Leserhinweis

Branch

LocationInformation

Heimatzweigstelle

AccountId

String

Benutzernummer

PasswordChangeRequired

bool

Wert des Flags in der Datenbank, welches bestimmt ob ein Leser sein Passwort bei der nächsten Anmeldung in OPEN ändern muss.
Steht hier der Wert auf True, muss der Leser sein Passwort bei der nächsten Anmeldung in OPEN ändern.

 UserGroupInformation

Name

Type

Description

Id

String

ID der Benutzergruppe

Description

String

Name der Benutzergruppe

Functions

GET a single Patron

Liefert die Daten des aktuellen Benutzers.

GET /patrons/{id}

Parameters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

Example

GET https://localhost/OPEN/RESTv1/Patron...1?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

 

Loans

Abfrage von Ausleihdaten und Durchführen einer Ausleihe für den aktuellen Benutzer.

Data Types

Loan

Name

Type

Description

CatalogueCopyId

String

Exemplar-Nummer

CatalogueId

String

Medien-Nummer

LoanType

String

Art des Ausleihe-Postens

DelayFeeAmount

Decimal

Gebühr bei verspäteter Rückgabe

DueDate

String

Ausleihfrist

Isbn

String

ISBN des Ausleihe-Postens

Isbn2

String

2. ISBN des Ausleihe-Postens

Ean

String

EAN des Ausleihe-Postens

CoverUrl

String

URL zu dem Cover des Ausleihe-Postens

Title

String

Titel

PickupLocation

LocationInformation

Abholzweigstelle

LoanLocation

LocationInformation

Ausleihzweigstelle

Werte von LoanType:

LoanType

Description

Loan

Ausleihe

Extension

Verlängerung

ReadyForCollection

Abholbereit

Reminder

Mahnung

RemoteLoan

Fernleihe

RemoteReadyForCollection

Fernleihe zum Abholen

RemoteExtension

Fernleihe-Verlängerung

RemoteReminder

Fernleihe in Mahnung

Functions

GET Loans

Liefert alle Ausleihen des aktuellen Benutzers.

Result

Array<Loan>

GET /patrons/{id}/Loans

Parameters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

Example

GET https://localhost /OPEN/RESTv1/Patrons/07005311/Loans?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

Reservations

Abfrage von Vormerkungen des aktuellen Benutzers

Data Types

Reservation

Name

Type

Description

CatalogueId

String

BIBLIOTHECA Medien-Nummer

DueDate

String

Vormerkung gültig bis

Isbn

String

ISBN des vorgemerkten Titels

Isbn2

String

2. ISBN des vorgemerkten Titels

Ean

String

EAN

CoverUrl

String

URL zu dem Cover des vorgemerkten Titels

PickupLocation

LocationInformation

Abholzweigstelle

Title

String

Titel

DeleteReservationResponse 

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Functions

GET Reservations

Liefert alle Vormerkungen des aktuellen Benutzers.

Result

Array<Reservation>

GET /patrons/{id}/Reservations

Parameters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

Example

GET https://localhost /OPEN/RESTv1/Patrons/07005311/Reservations?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

DELETE Reservation

Löscht eine Vormerkung.

Result

Array<Reservation>

GET /patrons/{id}/Reservations/{catalogueId}

Parameters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

catalogueId

String

15

Medien-Nummer der Vormerkung

Example

DELETE https://localhost /OPEN/RESTv1/Patrons/07005311/Reservations /0000123 ?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

Fees

Abfrage von offenen Gebühren des aktuellen Benutzers

Data Types

Fee

Name

Type

Description

CatalogueId

String

BIBLIOTHECA Medien-Nummer (wenn es sich um eine medienbezogene Gebühr handelt)

Amount

Decimal

Betrag

Description

String

Beschreibung der Kostenart (z.B. Verlängerung, Vormerkung, Ausweisverlängerung)

Isbn

String

ISBN (wenn es sich um eine medienbezogene Gebühr handelt)

Isbn2

String

2. ISBN (wenn es sich um eine medienbezogene Gebühr handelt)

Ean

String

EAN (wenn es sich um eine medienbezogene Gebühr handelt)

CoverUrl

String

URL zu dem Cover (wenn es sich um eine medienbezogene Gebühr handelt)

Id

Number

Id der Gebühr

Functions

GET Fees

Liefert alle offenen Gebühren des aktuellen Benutzers.

Result

Array<Fee>

GET /patrons/{id}/Fees

Para meters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

Example

GET https://localhost /OPEN/RESTv1/Patrons/07005311/Fees?APIKey=[***] HTTP/1.1

Authorization: Basic MDAwMDAwMTpzZWNyZXQ=

Payments

Durchführen einer Zahlung

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

DataTypes

Payment

Name

Type

Länge

Description

Description

String

248

Beschreibung der Zahlung

FeeIds

List<Int>

 

Liste von Gebühren-IDs

ExternalId(*)

String

100

Externe ID

Type

String

 

Art der Zahlung

(*) Optional

Werte von Type:

Type

Description

Cash

Bar

Epay

Elektronische Zahlung

 Payment Response

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Werte von RequestState:

RequestState

Description

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

InvalidParameters

Anfrage nicht gültig. Bsp.: Ungültige FeeIds, Ausweisnummer

 

Functions

POST Payments

Erstellt eine Zahlung.

Result

PaymentResponse

POST patrons/{id}/payments

Para meters

Name

Type

Länge

Description

id

String

15

Leserausweis-Nummer

Example

POST /patrons/{id}/payments?APIKey=[***] HTTP/1.1

{

"Description":"Zahlung über OPEN-API",

"FeeIds”:[1,2,3,4,5],

"Type":"Epay"

}

 

Zoeken

Durchführen einer Suche im Katalog

Suchen können durch die Übergabe einer Solr Search Query durchgeführt werden. Wird kein spezifisches Feld angegeben, wird bei einer ODER-verknüpften Suche in nachfolgenden Feldern gesucht:

  • Title, SubTitle, SeriesTitle, OriginalTitle, AuthorDescriptions, KeyWords, AttachedItems, Attachment

Für eine UND-verknüpfte Suche muss jeweils explizit das Wort ‚And‘ vorangestellt werden.
Es wird absteigend nach der Relevanz (d.h. abhängig von der Suche) sortiert.

Felder, in denen explizit gesucht werden kann (<Field name>:<value>)

Name

Description

Title

siehe Beschreibung bei CatalogueSearchResult

SubTitle

siehe Beschreibung bei CatalogueSearchResult

SeriesTitle

siehe Beschreibung bei CatalogueSearchResult

OriginalTitle

Originaltitel

AcquisitionDate

Zugangsdatum des Exemplars

ProductionYear

siehe Beschreibung bei CatalogueSearchResult

AuthorDescriptions

Verfasser (Beschreibung)

SubjectTypeDescriptions

Interessenskreise (Beschreibung)

MediaGroupDescription

Mediengruppen (Beschreibung)

ISBNAndISSN

ISBN/ISBN2/ISSN

MediumIdentifier

Medienkennzeichen

KeyWords

Schlagwörter

Branches

Zweigstellen

AvailableBranches

Verfügbare Exemplare in diesen Zweigstellen

Languages

Sprachen

AuthorFullMatch

Vollständiger Autoren-Name (Vor- und Nachname)

SystematicDescriptions

Systematiken

AttachedItems

Beilagen

Attachment

Beifügung

FirstAuthorDescription

1. Verfasser (Beschreibung)

Data Types

CatalogueSearchResponse

Name

Type

Description

TotalCount

Int

Gesamt-Anzahl der Treffer

Results

List<CatalogueSearchResult>

Treffer

 CatalogueSearchResult

Name

Type

Description

Id

String

BIBLIOTHECA Medien-Nummer

IsComprehensiveItem

Bool

True, wenn es sich um ein Gesamtwerk handelt. False, wenn es sich um ein Medium oder ein unselbstständiges Werk handelt.

Parent

String

Übergeordnete Mediennummer des Gesamtwerks

ParentTitle

String

Titel des Gesamtwerks

Title

String

Hauptsachtitel

SubTitle

String

Untertitel

SeriesTitle

String

Reihentitel

VolumeNumberInfo

String

Bandangaben

Authors

List<String>

Verfasser

ProductionYear

String

Erscheinungsjahr

Publisher

String

Verlag

MediaGroup

MediaGroupIn-formation

Mediengruppe des Mediums
(ID und Beschreibung)

RecordIdentifier

String

Medienkennzeichen des Mediums

Availability

Int

Verfügbarkeit (Anzahl verfügbarer Exemplare)

IsbnOrIssn

List<String>

ISBN / ISSN

Ean

String

EAN

CoverUrl

String

URL zu dem Cover

 MediaGr oupInformation

Name

Type

Description

Id

String

ID der Mediengruppe

Description

String

Name der Mediengruppe

Functions

GET a Search Result

Führt eine Suche im Katalog durch.

Result

CatalogueSearchResponse

GET/search

Parameters

Name

Type

Description

query

String

Suchbegriff(e)

Pageindex

String

Seitenindex

Pagesize

String

Seitengröße (default: 20, max: 100)

Examples

1. Volltextsuche nach "Duden"

GET https://localhost/OPEN/RESTv1/Search...=1&pageSize=10

2. Suche nach Titeln mit dem Begriff "it" und dem Serientitel "informatik"

GET

https://localhost/OPEN/RESTv1/Search?query= (Title:it) AND (SeriesTitle:informatik)&ApiKey=[***]&pageIndex=1&pageSize=20

3. Suche nach Titeln mit dem Begriff "it" oder dem Serientitel "informatik"

GET

https://localhost/OPEN/RESTv1/Search?query= (Title:it) OR (SeriesTitle:informatik)&ApiKey=[***]&pageIndex=1&pageSize=20

4. Suche nach Titeln mit Zugangsdatum in einem bestimmten Bereich:
01.01.2021 – 31.08.2021

GET

https://localhost/OPEN/RESTv1/Search?query= AcquisitionDate:[20210101 TO 20210831] &ApiKey=[***]&pageIndex=1&pageSize=20

 

LoanRequests

Durchführen von Ausleihen.

Der Ausleihprozess in OPEN erfolgt über mind. 2 Schritte.

  1. Ausleihe anfragen (request)

Eine Ausleihe muss über POST angefragt werden. Über die Antwort erhält man Informationen über das Ergebnis der Anfrage. Eine Anfrage ist entweder gültig (d.h. eine Ausleihe kann durchgeführt werden) oder ungültig (d.h. eine Ausleihe kann aus bestimmten Gründen nicht durchgeführt werden).

Im Falle einer gültigen Anfrage erhält man eine eindeutige ID sowie weitere Informationen zu dem zu erwartenden Ergebnis der Ausleihe wie u.U. entstehenden Gebühren, Fristdatum etc.

Im Falle einer ungültigen Anfrage können die Gründe der Ablehnung über RequestMessages abgefragt und dem Kunden angezeigt werden.

  1. Ausleihe bestätigen (commit)

Über PUT der Id einer gültigen Ausleihanfrage kann die Ausleihe endgültig (u.U. kostenpflichtig) durchgeführt werden.

Der Benutzer wird über die mit dem Header zu sendende Autorisierungsinformation (Username sowie passendes Password) ermittelt.

Data Types

LoanRequest

Name

Type

Description

Id

String

ID der Ausleihanfrage

RequestState

String

Ergebnis der Ausleihanfrage

RequestMessages

List<String>

Statusmeldungen zur Ausleihanfrage

Fee

Decimal

Gebühr für die Ausleihe

DueDate

String

Frist-Datum

ItemId

String

Exemplar-Identifier des auszuleihenden Mediums

Werte von RequestState:

RequestState

Description

Unconfirmed

Unbestätigt

ConfirmedByUser

wird überprüft

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessages:

RequestMessage

Description

CopyCantBeRetrievedFromBibPlus

Exemplar kann nicht aus BIBLIOTHECA ausgelesen werden

FeeLimitExceeded

Maximale Gebührengrenze erreicht

ReminderLevelExceeded

Maximale Mahnstufe des Benutzerkontos erreicht

NumberOfLoansExceeded

Die Gesamtausleihzahl ist überschritten

NumberOfLoansForMediaGroupExceeded

Die Ausleihzahl für die Mediengruppe ist überschritten

InvalidCopyStatusForLoan

Exemplar nicht ausleihbar

LoanOfReservedNotPossible

Ausleihe eines vorbestellten Exemplars nicht möglich

UserIsBlockedforMediaGroup

Der Benutzer ist für diese Mediengruppe gesperrt

AgeCheckFailedLoan

Exemplar kann aufgrund der Altersbeschränkung nicht ausgeliehen werden

NoLoanDuplicateRequestCopyLoaned

Das Exemplar ist bereits auf den Benutzer ausgeliehen

PatronAccountMustBeResubmitted

Das Wiedervorlagedatum des Benutzerkontos liegt in der Vergangenheit

AccountNotPaid

Der Ausweis des Benutzers ist abgelaufen

UserHadPreviouslyBorrowedMedium

Der Benutzer hatte das Medium früher schon ausgeliehen

Functions

Add a LoanRequest

Erstellt eine neue Ausleihanfrage.

Result

LoanRequest

POST /loanrequests/{itemId}

Parameters

Name

Type

Länge

Description

itemId

String

15

Exemplar-Identifier des auszuleihenden Mediums

Example

POST https://localhost /OPEN/RESTv1/ loan request s ? itemId =0005454001&APIKey=[***] HTTP/1.1

Confirm LoanRequests

Bestätigt eine Ausleihanfrage.

Result

Array<LoanRequest>

PUT /loanrequests/{id}

Parameters

Name

Type

Description

id

String

IDs der Ausleihanfrage

Example

PUT https://localhost /OPEN/RESTv1/ loan request s /{id}?APIKey=[***] HTTP/1.1

RenewalRequests

D urchführen von Verlängerungen

Der Verlängerungsprozess in OPEN erfolgt über mind. 2 Schritte.

  1. Verlängerung anfragen (request)

Eine Verlängerung für eine bestehende Ausleihe muss über POST angefragt werden. Über die Antwort erhält man Informationen über das Ergebnis der Anfrage. Eine Anfrage ist entweder gültig (d.h. eine Verlängerung kann durchgeführt werden) oder ungültig (d.h. eine Verlängerung kann aus bestimmten Gründen nicht durchgeführt werden).

Im Falle einer gültigen Anfrage erhält man eine eindeutige ID sowie weitere Informationen zu dem zu erwartenden Ergebnis der Verlängerung wie u.U. entstehenden Gebühren, neues Fristdatum etc.

Im Falle einer ungültigen Anfrage können die Gründe der Ablehnung über RequestMessages abgefragt und dem Kunden angezeigt werden.

  1. Verlängerung bestätigen (commit)

Über PUT der Id einer gültigen Verlängerungsanfrage kann die Verlängerung endgültig (u.U. kostenpflichtig) durchgeführt werden.

Der Benutzer wird über die mit dem Header zu sendende Autorisierungsinformation (Username sowie passendes Password) ermittelt.

Data Types

LoanRenewalRequest

Name

Type

Description

Id

String

ID der Verlängerungsanfrage

RequestState

String

Ergebnis der Verlängerungsanfrage

RequestMessages

List<String>

Statusmeldungen zu Verlängerungsanfragen

Fee

Decimal

Gebühr für die Verlängerung

DelayFee

Decimal

Zusätzliche Gebühr bei verspäteter Rückgabe

DueDate

String

Frist-Datum

CurrentNumberOfRenewals

Int

Aktuelle Anzahl Verlängerungen

NewNumberOfRenewals

Int

Anzahl von Verlängerungen nach der aktuellen Anfrage

Werte von RequestState:

RequestState

Description

Unconfirmed

Unbestätigt

ConfirmedByUser

wird überprüft

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessages:

RequestMessage

Description

FeeLimitExceeded

Maximale Gebührengrenze erreicht

ReminderLevelExceeded

Maximale Mahnstufe des Benutzerkontos erreicht

ExtensionOfMissingNotPossible

Verloren gemeldete Exemplare können nicht verlängert werden

CopyInReminderState

Exemplar bereits gemahnt

ExtensionNotPossibleForMedium

Medium von der Verlängerung ausgeschlossen

MaximumExtensionLengthExceeded

Maximale Dauer von Verlängerungen erreicht

MaximumFollowUpExtensionsExceeded

Maximale Anzahl an aufeinanderfolgenden Verlängerungen erreicht

EarliestPossibleExtensionDateNotReached

Zum jetzigen Zeitpunkt noch keine Verlängerung möglich

NewDueDateCannotBeBeforeDueDate

Neues Fristdatum darf nicht vor dem Leihfristende liegen

LatestPossibleExtensionDateExceeded

Ausleihfrist des Mediums überschritten

ExtensionOfReservedNotPossible

Verlängerung eines vorbestellten Exemplars nicht möglich

InvalidExtensionLengthParameter

(Verlängerungsintervall ist auf 0 Tage eingestellt) Bitte wenden Sie sich an die Bibliothek.

Functions

GET a single RenewalRequest

Liefert eine offene Verlängerungsanfrage.

Result

LoanRenewalRequest

GET /renewalrequests/{id}

Parameters

Name

Type

Description

id

String

Id einer offenen Verlängerungsanfrage

Example

GET https://localhost /OPEN/RESTv1/renewalrequests/id?APIKey=[***] HTTP/1.1

GET all RenewalRequests

Liefert alle offenen Verlängerungsanfragen des aktuellen Benutzers.

Result

Array<LoanRenewalRequest>

GET /renewalrequests

Example

GET https://localhost /OPEN/RESTv1/renewalrequests?APIKey=[***] HTTP/1.1

Add a RenewalRequest

Erstellt eine neue Verlängerungsanfrage.

Result

Array<LoanRenewalRequest>

POST /renewalrequests/{cataloguecopyids}

Parameters

Name

Type

Länge

Description

cataloguecopyids

String

15

Liste von Exemplarnummern der zu verlängernden Medien (Komma-separiert)

Example

POST https://localhost /OPEN/RESTv1/renewalrequests? cataloguecopyids=0005454001&APIKey=[***] HTTP/1.1

Confirm RenewalRequests

Bestätigt eine oder mehrere Verlängerungsanfragen.

Result

Array<LoanRenewalRequest>

PUT /renewalrequests/{ids}

Parameters

Name

Type

Description

ids

String

Liste von IDs der Verlängerungsanfragen (Komma-separiert)

Example

PUT https://localhost /OPEN/RESTv1/renewalrequests/{ids}?APIKey=[***] HTTP/1.1

 

ReservationRequests

D urchführen von Vormerkungen

Der Vormerkungsprozess in OPEN erfolgt über mind. 2 Schritte.

  1. Vormerkung anfragen (request)

Eine Vormerkung für Medien und/oder konkrete Exemplare muss über POST angefragt werden. Über die Antwort erhält man Informationen über das Ergebnis der Anfrage. Eine Anfrage ist entweder gültig (d.h. eine Vormerkung kann durchgeführt werden) oder ungültig (d.h. eine Vormerkung kann aus bestimmten Gründen nicht durchgeführt werden).

Im Falle einer gültigen Anfrage erhält man eine eindeutige ID sowie weitere Informationen zu dem zu erwartenden Ergebnis der Vormerkung wie u.U. entstehenden Gebühren.

Im Falle einer ungültigen Anfrage können die Gründe der Ablehnung über RequestMessages abgefragt und dem Kunden angezeigt werden.

  1. Vormerkung bestätigen (commit)

Über PUT der Id einer gültigen Vormerkungsanfrage kann die Vormerkung endgültig (u.U. kostenpflichtig) durchgeführt werden.

Der Benutzer wird über die mit dem Header zu sendende Autorisierungsinformation (Username sowie passendes Password) ermittelt.

Data Types

LoanReservationRequest

Name

Type

Description

RequestState

String

Ergebnis der Vormerkungsanfrage

RequestMessages

List<String>

Statusmeldungen zu Vormerkungsanfragen

Hashcode

String

ID der Vormerkung

PickupLocationId

String

ID der Abholzweigstelle

Fee

Decimal

Gebühr für die Vormerkung

Werte von RequestState:

RequestState

Description

Unconfirmed

Unbestätigt

ConfirmedByUser

wird überprüft

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessages:

RequestMessage

Description

CopyCantBeRetrievedFromBibPlus

Exemplar kann nicht aus BIBLIOTHECA ausgelesen werden

CopyCantBeReserved

Exemplar kann nicht vorbestellt werden

ReminderLevelExceeded

Maximale Mahnstufe des Benutzerkontos erreicht

AgeCheckFailed

Exemplar kann aufgrund der Altersbeschränkung nicht vorbestellt werden

ReservationLimitExceeded

Maximale Anzahl von Vorbestellungen auf dem Benutzerkonto erreicht

FeeLimitExceeded

Maximale Gebührengrenze erreicht

InvalidCopyStatusForReservation

Exemplar nicht vorbestellbar

NoReservableCopyFound

Kein vorbestellbares Exemplar gefunden

NoReservationDuplicateRequestCatalogueReserved

Medium bereits vom Leser vorbestellt

NoReservationDuplicateRequestCopyReserved

Exemplar bereits vom Leser vorbestellt

NoReservationDuplicateRequestCatalogueLoaned

Medium bereits vom Leser ausgeliehen

NoReservationDuplicateRequestCopyLoaned

Exemplar bereits vom Leser ausgeliehen

Functions

GET a single ReservationRequest

Liefert eine offene Vormerkungsanfrage des aktuellen Benutzers.

Result

LoanReservationRequest

GET /reservationrequests/{id}

Parameters

Name

Type

Description

id

String

ID der Vorbestellungsanfrage

Example

GET https://localhost /OPEN/RESTv1/reservationrequests/353FDCAB22B6D94C65DF9BA9C3CC5A24?APIKey=[***] HTTP/1.1

Add a ReservationRequest

Erstellt eine neue Vormerkungsanfrage.

Result

Array<LoanReservationRequest>

Als Parameter wird entweder eine Liste von Exemplarnummern oder eine Liste von Mediennummern erwartet.

POST /reservationrequests/{catalogueid_or_cataloguecopyid}

Parameters

Name

Type

Länge

Description

PickupLocationId

String

3

Kürzel der Abholzweigstelle

CatalogueIds

String

15

Mediennummern der vorzumerkenden Werke (optional)

CatalogueCopyIds

String

15

Exemplarnummern der vorzumerkenden Werke (optional)

Example

POST https://localhost /OPEN/RESTv1/reservationrequests?APIKey=[***]&pickuplocationid=00&cataloguecopyids=0143236001 HTTP/1.1

Comfirm a ReservationRequest

Bestätigt eine Vormerkungsanfrage.

Result

LoanReservationRequest

PUT /reservationrequests/{id}

Parameters

Name

Type

Description

id

String

ID der Vorbestellungsanfrage

Example

PUT https://localhost /OPEN/RESTv1/reservationrequests/353FDCAB22B6D94C65DF9BA9C3CC5A24?APIKey=[***] HTTP/1.1

 

RegistrationRequests

Durchführen von Registrierungen

Erzeugt einen Leser mit den angegebenen Daten.

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

Werden maximal erlaubte Längen für Felder überschritten, so wird die Registrierung dennoch durchgeführt und die Werte werden jeweils auf die maximale Länge abgeschnitten.

Data Types

RegistrationRequest

Name

Type

Länge

Description

AccountNumber

String

15

Ausweisnummer

Password

String

88

Passwort

UserGroupId

String

3

Kürzel der Benutzergruppe

BranchId(*)

String

3

Kürzel der Zweigstelle

AccountContact

Contact

 

Kontaktinformationen

LegalGuardianContact(*)

Contact

 

Erziehungsberechtigter

(*) Optional

Contact

Name

Type

Länge

Description

Sex

String

 

Geschlecht

Salutation(*)

String

50

Titel/Anrede

FirstName

String

248

Vorname

LastName

String

248

Nachname

DateOfBirth(**)

String

10

Geburtsdatum
Format: yyyy-MM-dd

Address

String

248

Straße Hausnummer

City

String

40

Ort

PostalCode

String

10

PLZ

Email(*)(**)

String

80

E-Mail-Adresse

PhoneNumber(*)

String

20

Festnetznummer

MobileNumber(*)(**)

String

30

Mobilfunknummer

(*) Optional (**) Not supported for RegistrationRequest.LegalGuardianContact

Werte von Sex:

Sex

Description

Female

Weiblich

Male

Männlich

Diverse

Divers

Institution

Institution

NotSpecified

Ohne Angabe

 RegistrationResponse

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Werte von RequestState:

RequestState

Description

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

PatronAccountAlreadyExists

Ausweisnummer ist bereits vergeben

InvalidParameters

Parameter ungültig. Gefolgt von Invalid:Parametername
(z.B. Invalid:BranchId, Invalid:UserGroupId, Invalid:Password, Invalid: AccountContact .DateOfBirth). Ein ungültiges Passwort bedeutet: es entspricht nicht den konfigurierten Richtlinien. Diese werden in der Fehlermeldung mit angegeben (z.B. PasswordUpperCaseChars:1, PasswordNumericalChars:2, PasswordSpecialChars:3).

 

Functions

Add a RegistrationRequest

Erstellt eine neue Registrierungsanfrage

Result

RegistrationResponse

POST /registrationrequests

Parameters

None

Body

RegistrationRequest

Example

POST /registrationrequests?APIKey=[***] HTTP/1.1

Authorization: Basic T1BFTkFQSTpzZWNyZXQ=

Content-Type: application/json

{

"AccountNumber":"12345678",

"Password":"password",

"UserGroupId":"ERW",

"AccountContact":{

"Sex":"Male",

"FirstName":"Test",

"LastName":"User",

"Address":"Street 1",

" City":"Speyer",

"PostalCode":"67346",

"Email":aemail@provider.com,

"MobileNumber":"015112345678"

}

}

PatronAccountRenewal-Requests

D urchführen von Verlängerungen des Ausweises

Um die Optionen der Verlängerung in Form von PatronAccountRenewalRequests abzufragen, wird POST verwendet. Der Response enthält maximal drei Optionen.

Werden keine Optionen geliefert, so ist eine Verlängerung für den Ausweis ist nicht möglich.

Um eine der Verlängerungsoptionen anzuwenden, wird ein PUT mit der entsprechenden ID verwendet. Ist diese erfolgreich, so ist der RequestState in der Antwort Accepted.

Der Benutzer wird über die mit dem Header zu sendende Autorisierungsinformation (Username sowie passendes Password) ermittelt.

Data Types

PatronAccountRenewalRequest

Name

Type

Description

Id

String

ID der Verlängerungsanfrage

RequestState

String

Ergebnis der Anfrage

RequestMessages

List<String>

Statusmeldungen zu Verlängerungsanfragen

IntervalType

String

Intervallart

IntervalValue

Int

Intervallwert

NewValidDate

String

Neues Gültigkeitsdatum

Fee

Decimal

Gebühr

Werte von RequestState:

RequestState

Description

Unconfirmed

Unbestätigt

ConfirmedByUser

wird überprüft

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessages:

RequestMessage

Description

InvalidPatronAccountExtensionParameter

Anfrage nicht gültig. Bsp.: Keine Benutzerdaten übergeben.

FeeLimitExceeded

Maximale Gebührengrenze erreicht

ReminderLevelExceeded

Maximale Mahnstufe des Benutzerkontos erreicht

RequestIsRejected

Ein Request, der abgewiesen ist, kann nicht bestätigt werden.

AccountDisabled

Der Ausweis ist gesperrt.

Functions

Add a PatronAccountRenewalRequest

Erstellt eine neue Verlängerungsanfrage.

Result

List<PatronAccountRenewalRequests>

POST /patronaccountrenewalrequests

Parameters

None

Example

POST /patronaccountrenewalrequests?APIKey=[***] HTTP/1.1

Confirm a PatronAccountRenewalRequest

Bestätigt eine neue Verlängerungsanfrage.

Result

PatronAccountRenewalRequests

PUT / patronaccountrenewalrequests/{id}

Parameters

Name

Type

Description

Id

String

ID der Anfrage

Example

PUT /patronaccountrenewalrequests/{id}?APIKey=[***] HTTP/1.1


Get all PatronAccountRenewalRequests

Liefert bereits angefragte, noch gültige Verlängerungsanfragen.

Result

List<PatronAccountRenewalRequests>

GET / patronaccountrenewalrequests

Parameters

None

Example

GET /patronaccountrenewalrequests?APIKey=[***] HTTP/1.1

PatronCardChangeRequests

Setzen der Gültigkeit

Setzt die Gültigkeit des Leserausweis (Gültig bis). Um das Feld zu leeren, muss das Feld leer angegeben werden.

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

Data Types

PatronCardChange Request

Name

Type

Länge

Description

AccountNumber

String

15

Leserausweis-Nummer

CardValidTill

String

10

Gültigkeit Leserausweis
Format: yyyy-MM-dd

 PatronCardChangeResponse

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Werte von RequestState:

RequestState

Description

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

InvalidParameters

Parameter ungültig oder Änderung nicht möglich. Gefolgt von Invalid:Parametername

Functions

Add a PatronCardChangeRequest

Erstellt eine neue Anfrage zum Setzen der Gültigkeit des Leserausweis.

Result

PatronCardChangeResponseDto

POST /patroncardchangerequests

Parameters

None

Examples

Gültigkeit des Leserausweis setzen:
POST /patroncardchangerequests?APIKey=[***] HTTP/1.1

{

„AccountNumber“: „accountNumber“,

„CardValidTill ":"2025-12-01"

}

Gültigkeit des Leserausweis entfernen:

POST / patroncardchangerequests?APIKey=[***] HTTP/1.1

{

„AccountNumber“: „accountNumber“,

„CardValidTill“: “”

}

PatronChangeRequests

Ändern von Benutzerdaten

Ändert einen Leser mit den angegebenen Daten. Um Felder zu leeren, muss das Feld leer angegeben werden. Wird der Erziehungsberechtigte leer angegeben, wird dieser komplett entfernt. Felder, die nicht geändert werden sollen, dürfen nicht angegeben werden.

Die Autorisierung erfolgt über den Benutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

Werden maximal erlaubte Längen für Felder überschritten, so wird die Änderung dennoch durchgeführt und die Werte werden jeweils auf die maximale Länge abgeschnitten.

Data Types

PatronChangeRequest

Name

Type

Länge

Description

AccountNumber(*)

String

15

Ausweisnummer

Password(*)

String

88

Passwort

UserGroupId(*)

String

3

Kürzel der Benutzergruppe

BranchId(*)

String

3

Kürzel der Zweigstelle

AccountContact(*)

Contact

 

Kontaktinformationen

LegalGuardianContact(*)

Contact

 

Erziehungsberechtigter

(*) Optional

Contact

Name

Type

Länge

Description

Sex(*)

String

Siehe Tabelle

Geschlecht

Salutation(*)

String

50

Titel

FirstName(*)

String

248

Vorname

LastName(*)

String

248

Nachname

DateOfBirth(**)

String

10

Geburtsdatum
Format: yyyy-MM-dd

Address(*)

String

248

Straße Hausnummer

City(*)

String

40

Ort

PostalCode(*)

String

10

PLZ

Email(*)(**)

String

80

E-Mail-Adresse

PhoneNumber(*)

String

20

Festnetznummer

MobileNumber(*)(**)

String

30

Mobilfunknummer

(*) Optional (**) Not supported for PatronChangeRequest.LegalGuardianContact

Werte von Sex:

Sex

Description

Female

Weiblich

Male

Männlich

Diverse

Divers

Institution

Institution

NotSpecified

Ohne Angabe

 PatronChangeResponse

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Werte von RequestState:

RequestState

Description

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

PatronAccountAlreadyExists

Ausweisnummer ist bereits vergeben

InvalidParameters

Parameter ungültig oder Änderung nicht möglich. Gefolgt von Invalid:Parametername (z.B. Invalid:Password oder Invalid: AccountContact.LastName - wenn der Nachname leer ist)

PatronChangeRequestEmpty

Keine Änderungen gefunden

Functions

Add a PatronChangeRequest

Erstellt eine neue Benutzeränderungssanfrage.

Result

PatronChangeResponse

POST /patronchangerequests

Parameters

None

Example s

Passwort ändern:

POST /patronchangerequests?APIKey=[***] HTTP/1.1

{

"Password":"myNewSecurePassword!",

}

Erziehungsberechtigten entfernen:

POST /patronchangerequests?APIKey=[***] HTTP/1.1

{

"LegalGuardianContact":{}

}

E-Mail-Adresse entfernen:

POST /patronchangerequests?APIKey=[***] HTTP/1.1

{

"AccountContact":

{

"Email":""

}

E-Mail-Adresse ändern:

POST /patronchangerequests?APIKey=[***] HTTP/1.1

{

"AccountContact":

{

"Email":neu@mail.de

}

}

 

PatronSearchRequests

Suche von Benutzern

Es müssen alle Felder ausgefüllt werden. Es handelt sich um eine „UND“-verknüpfte Suche.

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

Data Types

PatronSearchRequest

Name

Type

Länge

Description

FirstName

String

248

Vorname

LastName

String

248

Nachname

DateOfBirth

String

10

Geburtsdatum
Format: yyyy-MM-dd

 PatronSearchResponse

Name

Type

Description

Count

Int

Anzahl von Treffern

Functions

Add a PatronSearchRequest

Suche nach Benutzer.

Result

PatronSearchResponse

POST /PatronSearchRequests

Parameters

None

Example s

POST /patronsearchrequests?APIKey=[***] HTTP/1.1

{

"FirstName":"Vorname",

"LastName":"Name",
"DateOfBirth":"2017-01-20"

}

PatronPasswordResetRequests

Zurücksetzen von Passwörtern

Zuerst muss ein Zurücksetzungscode angefordert werden (Add). Der Prozess sieht vor, dass dieser Code an den Benutzer über die mitgelieferte mit dem Benutzer verknüpfte E-Mail-Adresse übermittelt wird. Der Benutzer bestätigt den Erhalt, indem er den Code in die Anwendung eingibt. Dies kann z.B. über einen Link geschehen. Aus Sicht der API folgt nach der Übermittlung des Codes dann der Aufruf der Bestätigung (Confirm).

Generierte Codes sind einmal verwendbar (sofern Passwortänderung erfolgreich) und laufen nach 10 Minuten automatisch ab.

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Enkodierung des Bodys ist UTF-8.

 

Data Types

PatronPasswordResetRequest

Name

Type

Länge

Description

Login

String

80

Ausweisnummer oder E-Mail-Adresse des Benutzers

 PatronPasswordResetRequestResponse

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

ResetCode

String

Code für das Zurücksetzen des Passwortes

E-mail

String

E-Mail-Adresse des Benutzers

Werte von RequestState:

RequestState

Description

Unconfirmed

Unbestätigt

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

EmailOrCardnumberWrong

Ausweisnummer unbekannt. E-Mail-Adresse unbekannt oder nicht eindeutig.

PatronPasswordResetConfirm

Name

Type

Description

ResetCode

String

Code für das Zurücksetzen des Passwortes

Password

String

Neues Passwort

 PatronPasswordResetConfirmResponse

Name

Type

Description

RequestState

String

Ergebnis

RequestMessages

List<String>

Statusmeldungen

Werte von RequestState:

RequestState

Description

Accepted

Akzeptiert

Rejected

Abgewiesen

Werte von RequestMessage:

RequestMessage

Description

ResetCodeInvalid

ResetCode ist nicht (mehr) gültig.

InvalidParameters

Parameter ungültig oder Änderung nicht möglich. Gefolgt von Invalid:Parametername (z.B. Invalid:Password)

 

Functions

Add a PatronPasswordResetRequests

Initiieren des Zurücksetzens des Passwortes.

Result

PatronPasswordResetRequestResponse

POST /PatronPasswordResetRequestResponse

Parameters

None

Example s

POST /patronpasswordresetrequests?APIKey=[***] HTTP/1.1

{

"Login":"1234567"

}

POST /patronpasswordresetrequests?APIKey=[***] HTTP/1.1

{

"Login":e@mail.de

}

Confirm a PatronPasswordResetRequests

Passwort zurücksetzen.

Result

PatronPasswordResetConfirmResponse

PUT /PatronPasswordResetRequestResponse

Parameters

None

Example s

PUT /patronpasswordresetrequests?APIKey=[***] HTTP/1.1

{

"ResetCode":"abcde….." ,

"Password":"NewPassword"

}

 

PickupBranches

Abfrage von Zweigstellen

Ressource für das Ermitteln aller Zweigstellen einer Bibliothek sowie der Abholzweigstelle(n) eines Lesers.

Data Types

LocationInformation

Name

Type

Description

Id

String

ID der Zweigstelle

Description

String

Name der Zweigstelle

Functions

GET all PickupBranches

Liefert alle Zweigstellen.

Diese Funktion wird abgelöst durch:

GET /branches

 

Result

Array<LocationInformation>

GET /pickupbranches

Example

GET https://localhost/OPEN/RESTv1/pickup...s?APIKey=[***] HTTP/1.1

 

GET PickupBranches by Patron

Liefert alle Abholzweigstellen eines Lesers.

Result

Array<LocationInformation>

GET /pickupbranches

Parameters

Name

Type

Länge

Description

PatronAccountId

String

15

Leserausweis-Nummer

Example

GET https://localhost /OPEN/RESTv1/pickupbranches?APIKey=[***]&patronaccountid=07005311 HTTP/1.1

Fees

Unpaid

Abfrage von offenen Gebühren aller Benutzer

Die Autorisierung erfolgt über den Systembenutzer im Authorization-Header.

Data Types

UnpaidFeesResponse

Name

Type

Description

UnpaidFees

List<UnpaidFees>

Liste von UnpaidFees

 UnpaidFees

Name

Type

Description

AccountNumber

String

Ausweisnummer

Fees

List<Fee>

Liste an unbezahlten Gebühren

 Fee

Name

Type

Description

CatalogueId

String

BIBLIOTHECA Medien-Nummer (wenn es sich um eine medienbezogene Gebühr handelt)

Amount

Decimal

Betrag

Description

String

Beschreibung der Kostenart (z.B. Verlängerung, Vormerkung, Ausweisverlängerung)

Id

Number

Id der Gebühr

Functions

GET Unpaid

Liefert alle offenen Gebühren aller Benutzer.

Result

UnpaidFeesResponse

GET /fees/unpaid

Example

GET https://localhost/OPEN/RESTv1/fees/u...d?APIKey=[***] HTTP/1.1

Authorization: Basic T1BFTkFQSTpzZWNyZXQ=

Result

{

"UnpaidFees": [

{

"AccountNumber": "12345678",

"Fees": [

{

"Amount": 1.23,

"CatalogueId": "123",

"Description": "Leihgebühr CD",

"Id": 1001

},

{

"Amount": 10,

"CatalogueId": null,

"Description": "Ausweisverlängerung 1 Jahr",

"Id": 1002

}

]

},

{

"AccountNumber": "23456789",

"Fees": [

{

"Amount": 1.25,

"CatalogueId": "12304",

"Description": "Verlängerungsgebühr (neue Frist 24.12.2019)",

"Id": 1033

}

]

}

]

}

Branches

Abfrage von Zweigstellen

Ressource für das Ermitteln aller Zweigstellen einer Bibliothek.

Data Types

LocationInformation

Name

Type

Description

Id

String

ID der Zweigstelle

Description

String

Name der Zweigstelle

Functions

GET all Branches

Liefert alle Zweigstellen.

Result

Array<LocationInformation>

GET /branches

Example

GET https://localhost /OPEN/RESTv1/branches?APIKey=[***] HTTP/1.1

Copystatuses

Abfrage von allen Exemplarstatus

Ressource für das Ermitteln aller Exemplarstatus einer Bibliothek.

Data Types

CopyStatusInformation

Name

Type

Description

Id

String

ID des Exemplarstatus

Description

String

Name des Exemplarstatus

Functions

GET all CopyStatuses

Liefert alle Exemplarstatus.

Result

Array<CopyStatusInformation>

GET /copystatuses

Example

GET https://localhost /OPEN/RESTv1/ copystatuses?APIKey=[***] HTTP/1.1

MediaGroups

Abfrage von allen Mediengruppen

Ressource für das Ermitteln aller Mediengruppen einer Bibliothek.

Data Types

MediaGroupInformation

Name

Type

Description

Id

String

ID der Mediengruppe

Description

String

Name der Mediengruppe

Functions

GET all MediaGroups

Liefert alle Mediengruppen.

Result

Array<MediaGroupInformation>

GET /mediagroups

Example

GET https://localhost /OPEN/RESTv1/ mediagroups?APIKey=[***] HTTP/1.1

UserGroups

Abfrage von allen Benutzergruppen

Ressource für das Ermitteln aller Benutzergruppen einer Bibliothek.

Data Types

UserGroupInformation

Name

Type

Description

Id

String

ID der Benutzergruppe

Description

String

Name der Benutzergruppe

Functions

GET all UserGroups

Liefert alle Exemplarstatus.

Result

Array<UserGroupInformation>

GET /usergroups

Example

GET https://localhost /OPEN/RESTv1/ usergroups?APIKey=[***] HTTP/1.1