# Provider API v0.6.5

22 grupper · 54 operasjoner · 43 stier · 379 skjemaer
Kilde: https://plas.redia.dk/no/provider/v0.6.5/

Grensesnittet et bibliotekssystem stiller til rådighet, slik at biblioteksprodukter kan lese og skrive låntakere, lån, reservasjoner og beholdning.

Generert fra `provider_v0_6_5.yaml` · OpenAPI 3.0.0

- **Implementeres av:** Bibliotekssystemet — Bibliofil, Cicero, Koha eller et annet
- **Kalles av:** Biblioteksprodukter — apper, selvbetjeningsautomater, nettsteder
- **Profiler av Provider API:** [Search API](https://plas.redia.dk/no/search/v0.6.5/) · [Content API](https://plas.redia.dk/no/content/v0.6.5/)

Provider API-et er PLAS' hovedflate. Implementerer et bibliotekssystem det, kan
ethvert produkt som snakker PLAS arbeide med biblioteket uten å kjenne systemet
under — og et produkt som er bygget mot ett bibliotek, virker hos det neste.

Flaten dekker det et bibliotek gjør hver dag: låntakeren og samtykkene hennes,
lån og fornyelser, reservasjoner, gebyrer og betaling, beholdning og lokasjoner,
`checkout` og `checkin`, søk i katalogens verk og utgivelser, og arrangementene
biblioteket publiserer. Hver del har sin egen gruppe i menyen.

## Slik integrerer du

Det er tre ting du må ha på plass, og de står i den rekkefølgen du møter dem:

1. **Base-URL-en.** Spesifikasjonen har ingen `servers`-blokk, så adressen er
   providerens og avtales med den. Regn ikke med at den er den samme fra
   bibliotek til bibliotek, heller ikke hos samme provider.
2. **Et token.** `POST /authentication/oauth2/token` med `client_id`,
   `client_secret` og `grant_type=client_credentials` gir et `Bearer`-token,
   som sendes med på alle andre kall.
3. **Versjonen.** Send `version` som query-parameter på hvert kall. Støtter
   ikke provideren den, får du feilkode `600` — altså en feil du kan handle på,
   framfor et svar som ser riktig ut.

Det ene kallet som verken krever token eller avtale, er `GET /version`. Start
der: svarer den, er base-URL-en riktig. Hele veien igjennom, med eksempler,
står i [Kom i gang](/no/kom-i-gang/).

## Forholdet til de andre API-ene

Search API og Content API er **profiler** av denne flaten: hver eneste av
operasjonene deres finnes her, med samme `operationId`, metode og sti. De finnes
for at et system skal kunne implementere ett område alene — søk eller
arrangementer — uten å implementere hele Provider API-et. Implementerer du
Provider, har du allerede begge.

Vendor Consumer API er derimot den motsatte retningen: flaten ditt eget produkt
stiller til rådighet, slik at bibliotekssystemet kan sende noe til deg.

## Felles for operasjonene

Disse definisjonene refereres av mange operasjoner. De er dokumentert ett sted her; en operasjon viser bare det som er dens eget, pluss kodene den kan svare med.

### Autentisering

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

### Parametere

- `version` (i `query`, [`Version`](https://plas.redia.dk/no/provider/v0.6.5/schemas/#Version), valgfri, brukes av 51 av 54) — 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, brukes av 8 av 54) — 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/


### Feilsvar

- `HttpCode400` ([`Errors`](https://plas.redia.dk/no/provider/v0.6.5/schemas/#Errors), brukes av 53 av 54) — The list of errors.
- `HttpCode401Bearer` (`Ikke noe innhold i svaret.`, brukes av 51 av 54) — Bearer token invalid, missing, or expired.
- `HttpCode404` (`Ikke noe innhold i svaret.`, brukes av 37 av 54) — Resource not found.
- `HttpCode401UnauthorizedOAuthLogin` (`Ikke noe innhold i svaret.`, brukes av 1 av 54) — Unauthorized login.

## Alle grupper

- [Version](https://plas.redia.dk/no/provider/v0.6.5/version/) — 1 operasjon
- [Authentication](https://plas.redia.dk/no/provider/v0.6.5/authentication/) — 2 operasjoner
- [Configuration](https://plas.redia.dk/no/provider/v0.6.5/configuration/) — 4 operasjoner
- [Patron Authentication](https://plas.redia.dk/no/provider/v0.6.5/patron-authentication/) — 4 operasjoner
- [Patron Registration](https://plas.redia.dk/no/provider/v0.6.5/patron-registration/) — 3 operasjoner
- [Patron Configuration](https://plas.redia.dk/no/provider/v0.6.5/patron-configuration/) — 1 operasjon
- [Patron](https://plas.redia.dk/no/provider/v0.6.5/patron/) — 6 operasjoner
- [Patron Reservation](https://plas.redia.dk/no/provider/v0.6.5/patron-reservation/) — 4 operasjoner
- [Patron Loan](https://plas.redia.dk/no/provider/v0.6.5/patron-loan/) — 2 operasjoner
- [Patron Fee](https://plas.redia.dk/no/provider/v0.6.5/patron-fee/) — 1 operasjon
- [Payment](https://plas.redia.dk/no/provider/v0.6.5/payment/) — 2 operasjoner
- [Patron Loan History](https://plas.redia.dk/no/provider/v0.6.5/patron-loan-history/) — 3 operasjoner
- [Patron List](https://plas.redia.dk/no/provider/v0.6.5/patron-list/) — 8 operasjoner
- [Patron Delete](https://plas.redia.dk/no/provider/v0.6.5/patron-delete/) — 1 operasjon
- [Checkout & Checkin](https://plas.redia.dk/no/provider/v0.6.5/checkout-and-checkin/) — 2 operasjoner
- [Location](https://plas.redia.dk/no/provider/v0.6.5/location/) — 1 operasjon
- [Holding](https://plas.redia.dk/no/provider/v0.6.5/holding/) — 1 operasjon
- [Work](https://plas.redia.dk/no/provider/v0.6.5/work/) — 2 operasjoner
- [Publication](https://plas.redia.dk/no/provider/v0.6.5/publication/) — 1 operasjon
- [Suggestion](https://plas.redia.dk/no/provider/v0.6.5/suggestion/) — 1 operasjon
- [Agent](https://plas.redia.dk/no/provider/v0.6.5/agent/) — 2 operasjoner
- [Content Event](https://plas.redia.dk/no/provider/v0.6.5/content-event/) — 2 operasjoner
- [Skjemaindeks](https://plas.redia.dk/no/provider/v0.6.5/schemas/) — 379 skjemaer
