# Provider API v0.6.3

21 grupper · 50 operationer · 39 stier · 334 skemaer
Kilde: https://plasapi.com/da/provider/v0.6.3/

Den grænseflade et bibliotekssystem stiller til rådighed, så tjenester kan arbejde med lånere, lån, reservationer, beholdning og betaling.

Genereret fra `provider_v0_6_3.yaml` · OpenAPI 3.0.0

- **Implementeres af:** Bibliotekssystemet
- **Kaldes af:** Tjenesterne — apps, hjemmesider, selvbetjening og medarbejderværktøjer

Provider API'et er PLAS' hovedindgang. Implementerer et bibliotekssystem det,
kan en tjeneste der taler PLAS, arbejde med biblioteket uden at kende systemet
underneden.

Det dækker det et bibliotek gør hver dag: låneren og lånerens samtykker, lån og
fornyelser, reservationer, gebyrer og betaling, beholdning og lokationer, udlån
og aflevering, søgning i værker og udgivelser, og bibliotekets arrangementer.
Hver del har sin egen gruppe i menuen.

## Sådan integrerer du

Tre ting skal på plads, i den rækkefølge du møder dem:

1. **Base-URL'en.** Specifikationen har ingen `servers`-blok, så adressen er
   providerens og aftales med den. Regn ikke med at den er den samme fra
   bibliotek til bibliotek, heller ikke hos samme provider.
2. **En token.** `POST /authentication/oauth2/token` med `client_id`,
   `client_secret` og `grant_type=client_credentials` giver en `Bearer`-token,
   som sendes med på kaldene derefter. Kun `GetVersion`, `AuthenticateClient`
   og `RevokeToken` klarer sig uden.
3. **Versionen.** Klienten kan sende den version den forventer, i
   query-parameteren `version`. Understøtter provideren den ikke, svarer den med
   fejlkode `600`.

Vejen til det første kald, med eksempler, står i [Kom i gang](/da/kom-i-gang/).

## Forholdet til de andre API'er

Search API og Content API er **profiler** af Provider API'et: hver af deres
operationer findes også her, med samme `operationId`, metode og sti. De kan
implementeres selvstændigt, så et system kan stille søgning eller arrangementer
til rådighed uden hele Provider API'et. Implementerer du Provider API'et, har du
allerede dem begge.

Vendor API'et går den modsatte vej: det er den flade tjenesten selv stiller til
rådighed, så bibliotekssystemet kan sende hændelser og sende låneren tilbage efter et login.

## Fælles for operationerne

Disse definitioner deles af API’ets operationer. De er dokumenteret ét sted her; en operation viser kun det der er dens eget, plus de koder den kan svare med.

### Autentificering

- `BearerAuth` · `oauth2` · Flow: `clientCredentials` · Token-URL: `/authentication/oauth2/token`

### Parametre

- `version` (i `query`, [`Version`](https://plasapi.com/da/provider/v0.6.3/schemas/#Version), valgfri, bruges af 47 af 50) — The version of Open Library the vendor expects to receive, if this version isn't supported by the provider an error code 600 (Unsupported Open Library API version) is returned.
- `ui_language` (i `query`, `string`, valgfri, bruges af 6 af 50) — The UI language the provider will return the content in.

All ui language codes should be on this list https://www.loc.gov/marc/languages/


### Fejlsvar

- `HttpCode400` ([`Errors`](https://plasapi.com/da/provider/v0.6.3/schemas/#Errors), bruges af 49 af 50) — The list of errors.
- `HttpCode401Bearer` (`Intet indhold i svaret.`, bruges af 47 af 50) — Bearer token invalid, missing, or expired.
- `HttpCode404` (`Intet indhold i svaret.`, bruges af 36 af 50) — Resource not found.
- `HttpCode401UnauthorizedOAuthLogin` (`Intet indhold i svaret.`, bruges af 1 af 50) — Unauthorized login.

## Alle grupper

- [Version](https://plasapi.com/da/provider/v0.6.3/version/) — 1 operation
- [Authentication](https://plasapi.com/da/provider/v0.6.3/authentication/) — 2 operationer
- [Configuration](https://plasapi.com/da/provider/v0.6.3/configuration/) — 3 operationer
- [Patron Authentication](https://plasapi.com/da/provider/v0.6.3/patron-authentication/) — 3 operationer
- [Patron Registration](https://plasapi.com/da/provider/v0.6.3/patron-registration/) — 3 operationer
- [Patron Configuration](https://plasapi.com/da/provider/v0.6.3/patron-configuration/) — 1 operation
- [Patron](https://plasapi.com/da/provider/v0.6.3/patron/) — 6 operationer
- [Patron Reservation](https://plasapi.com/da/provider/v0.6.3/patron-reservation/) — 4 operationer
- [Patron Loan](https://plasapi.com/da/provider/v0.6.3/patron-loan/) — 2 operationer
- [Patron Fee](https://plasapi.com/da/provider/v0.6.3/patron-fee/) — 1 operation
- [Payment](https://plasapi.com/da/provider/v0.6.3/payment/) — 2 operationer
- [Patron Loan History](https://plasapi.com/da/provider/v0.6.3/patron-loan-history/) — 3 operationer
- [Patron List](https://plasapi.com/da/provider/v0.6.3/patron-list/) — 8 operationer
- [Patron Delete](https://plasapi.com/da/provider/v0.6.3/patron-delete/) — 1 operation
- [Checkout & Checkin](https://plasapi.com/da/provider/v0.6.3/checkout-and-checkin/) — 2 operationer
- [Location](https://plasapi.com/da/provider/v0.6.3/location/) — 1 operation
- [Holding](https://plasapi.com/da/provider/v0.6.3/holding/) — 1 operation
- [Work](https://plasapi.com/da/provider/v0.6.3/work/) — 2 operationer
- [Publication](https://plasapi.com/da/provider/v0.6.3/publication/) — 1 operation
- [Suggestion](https://plasapi.com/da/provider/v0.6.3/suggestion/) — 1 operation
- [Agent](https://plasapi.com/da/provider/v0.6.3/agent/) — 2 operationer
- [Skema-indeks](https://plasapi.com/da/provider/v0.6.3/schemas/) — 334 skemaer
