# Provider API v0.6.7

22 grupper · 59 operasjoner · 45 stier · 420 skjemaer
Kilde: https://plasapi.com/no/provider/v0.6.7/

Grensesnittet et bibliotekssystem stiller til rådighet, slik at tjenester kan arbeide med lånere, lån, reservasjoner, beholdning og betaling.

Generert fra `provider_v0_6_7.yaml` · OpenAPI 3.0.0

- **Implementeres av:** Bibliotekssystemet
- **Kalles av:** Tjenestene — apper, nettsteder, selvbetjening og ansattverktøy
- **Profiler av Provider API:** [Search API](https://plasapi.com/no/search/v0.6.7/) · [Content API](https://plasapi.com/no/content/v0.6.7/)

Provider API-et er hovedinngangen til PLAS. Når et bibliotekssystem
implementerer det, kan en tjeneste som snakker PLAS, arbeide med biblioteket
uten å kjenne systemet under.

Det dekker det et bibliotek gjør hver dag: låneren og lånerens samtykker,
lån og fornyelser, reservasjoner, gebyrer og betaling, beholdning og
lokasjoner, utlån og innlevering, søk i verk og utgivelser, og bibliotekets
arrangementer. Hver del har sin egen gruppe i menyen.

## Slik integrerer du

Tre ting må være på plass, 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. Ikke regn 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å kallene etterpå. Bare `GetVersion`, `AuthenticateClient`
   og `RevokeToken` klarer seg uten.
3. **Versjonen.** Klienten kan sende versjonen den forventer, i
   query-parameteren `version`. Støtter ikke provideren den, svarer den med
   feilkode `600`.

Veien til det første kallet, 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 Provider API-et: hver av
operasjonene deres finnes også her, med samme `operationId`, metode og sti. De
kan implementeres selvstendig, slik at et system kan stille søk eller
arrangementer til rådighet uten hele Provider API-et. Implementerer du Provider
API-et, har du allerede begge.

Vendor API-et går motsatt vei: det er flaten tjenesten selv stiller til
rådighet, slik at bibliotekssystemet kan sende hendelser og sende låneren
tilbake etter en innlogging.

## Felles for operasjonene

Disse definisjonene deles av API-ets 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://plasapi.com/no/provider/v0.6.7/schemas/#Version), valgfri, brukes av 56 av 59) — 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 10 av 59) — 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://plasapi.com/no/provider/v0.6.7/schemas/#Errors), brukes av 58 av 59) — The list of errors.
- `HttpCode401Bearer` (`Ikke noe innhold i svaret.`, brukes av 56 av 59) — Bearer token invalid, missing, or expired.
- `HttpCode404` (`Ikke noe innhold i svaret.`, brukes av 35 av 59) — Resource not found.
- `HttpCode429` (`Ikke noe innhold i svaret.`, brukes av 3 av 59) — Too many requests. The provider is rate limiting and did not carry out the request.

The response should have a `Retry-After` header saying how many seconds to wait. Show the
patron "try again later", not an error about what they sent.

- `HttpCode401UnauthorizedOAuthLogin` (`Ikke noe innhold i svaret.`, brukes av 1 av 59) — Unauthorized login.

## Alle grupper

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