Oppslagstjenesten REST
Introduksjon
Kontaktregisteret sin oppslagstjeneste tilbys gjennom et OAuth2 beskyttet REST-API, sikret med Maskinporten. Dette gjør det enkelt å implementere integrasjoner mot registeret.
Bruk av Oauth2
Tilgangskontrollen til api’et benytter seg av Maskinporten sin funksjonalitet for maskin-til-maskin API-autorisasjon
Merk at REST-grensesnittet tidligere var sikret med den “innebygde maskinporten” i ID-porten OIDC, men det nå er anbefalt å bruke Maskinporten.
Merk at funksjonalitet for lokal kopi (endringsmeldinger) ikke er støttet over Oauth2-grensenittet.
Tilgjenglige scopes
API-responsen er avhengig av hvilke scope som er forespurt i tokenet. Tilgjengelige scopes er:
| scope | beskrivelse |
|---|---|
| krr:global/kontaktinformasjon.read | Returnerer epostadresse og mobilnummer + tidspunkt for sist oppdatering |
| Returnerer status for om kontaktinfomasjonen kan brukast for varsling iht. eForvaltningsforskriften §32 | |
| Returnerer brukerens foretrukne språk for kommunikasjon med det offentlige. | |
| krr:global/digitalpost.read | Returnerer adresse for digital post til innbygger |
| Returnerer brukerens krypteringssertifikat ved sending av digital post |
Det vil alltid returneres reservasjonsstatus for brukeren.
Merk at scopene med krr:-prefix er noe konsolidert i forhold til tidligere.
Endepunkt
Oppslagstjenesten sin REST-tjeneste tilbyr følgende endepunkt for søk på 1…1000 personer:
OpenAPI-dokumentasjon mangler p.t. for det nye endepunktet. Inntil videre må du se på gammel doc her: https://oidc-ver2.difi.no/kontaktinfo-oauth2-server/rest/swagger-ui.html#/Personer
| miljø | url |
|---|---|
| VER1 | https://krr-ver1.digdir.no/rest/v1/personer |
| VER2 | https://krr-ver2.digdir.no/rest/v1/personer |
| YT2 | https://krr-yt2.digdir.no/rest/v1/personer |
| PROD | https://krr.digdir.no/rest/v1/personer |
Merk: Man vil oppnå vesentlig bedre ytelse (målt i personer/sekund) ved å slå opp 1000 personer 1 gang kontra 1000 enkelt-oppslag.
Følgende header-parametere må brukes på request:
| Parameter | Verdi |
|---|---|
| Http-metode | POST |
| Authorization | Bearer <utstedt access_token> |
Body i requesten er en JSON-struktur med et element personidentifikatorer som skal inneholde en liste med inntil 1000 personidentifikatorer.
Eksempel på forespørsel
POST /rest/v1/personer
Content-type: application/json
Authorization: Bearer SWDQ_pVct3HIzsIaC3zHDuMmIqffr4ORr508N3p0Mtg=
{
"personidentifikatorer" : [ "23079422568" ]
}
Eksempel på respons
{
"personer":
[
{
"personidentifikator": "23079421936",
"reservasjon": "NEI",
"status": "AKTIV",
"kontaktinformasjon":
{
"epostadresse": "23079421936-test@minid.norge.no",
"epostadresse_oppdatert": "2018-06-29T10:14:52+02",
}
}
]
}
Gammel dokumentasjon
Tidligere var REST-APIet sikret med Maskinporten-funksjonaliteten som er “innebygd” i ID-porten OIDC. Som en følge av at Maskinporten ble skilt ut som egen, selvstendig tjeneste (egen Oauth2 issuer) høsten 2019, ble også Oppslagstjensten endret til å være sikret av Maskinporten. Samtidig ble det gjort noen forenklinger:
- Konsolidert antall scopes fra 5 til 2 basert på analyse av faktisk bruk
- Forenklet URL til APIet
Gammel API-dok er her: https://oidc-ver2.difi.no/kontaktinfo-oauth2-server/rest/swagger-ui.html#/Personer
Gamle URLer:
Migrering
Dersom du skal migrere fra gammelt OIDC-beskytta endepunkt til nytt Maskinporten-sikra endepunkt, må følgende gjøres:
- Oppdater klient-registrering til å bruke nye scopes med
krr:-prefix - Klienten må endres til å hente tokens fra Maskinporten isteden for ID-porten OIDC
- typisk ved å oppdatere url for autorisasjonsserverens oauth2 metadata-endepunkt til
https://maskinporten.no/.well-known/oauth-authorization-server - evt. ved å konfigurere nytt token-endepunkt direkte (
https://maskinporten.no/token) og oppdatere trust mot Maskinporten sitt signeringssertifikat.
- typisk ved å oppdatere url for autorisasjonsserverens oauth2 metadata-endepunkt til
- Endre API-kall til å gå mot nytt endepunkt