{"id":2353,"date":"2024-10-09T11:22:34","date_gmt":"2024-10-09T09:22:34","guid":{"rendered":"https:\/\/bibliotekutvikling.no\/kunnskapsorganisering\/?page_id=2353"},"modified":"2024-10-10T12:39:12","modified_gmt":"2024-10-10T10:39:12","slug":"dokumentasjon-til-den-tekniske-losningen","status":"publish","type":"page","link":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/","title":{"rendered":"Dokumentasjon til  den tekniske l\u00f8sningen"},"content":{"rendered":"\n<p>Sist oppdatert: 04.04.2024<\/p>\n\n\n\n<p><a href=\"https:\/\/bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/\">Beskrivelse og form\u00e5l av nasjonalt l\u00e5nerregister og Bibliotekkortet <\/a><\/p>\n\n\n\n<p><em>Biblioteksystemer sin dokumentasjon til l\u00f8sningene nasjonalt l\u00e5nerregister og Bibliotekkortet.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SOAP-WSDL<\/h3>\n\n\n\n<p><a href=\"https:\/\/fl.lanekortet.no\/api\/rest\/wsdlv2\">https:\/\/fl.lanekortet.no\/api\/rest\/wsdlv2<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">REST-dokumentasjon<\/h3>\n\n\n\n<p><a href=\"https:\/\/fl.lanekortet.no\/apidoc\/index.php\">https:\/\/fl.lanekortet.no\/apidoc\/index.php<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kryptering\/Autentisering av leverand\u00f8r for SOAP\/REST<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alle tjenester krever HTTPS.<\/li>\n\n\n\n<li>SOAP-tjenestene er beskyttet vha Basic Authentication.\n<ul class=\"wp-block-list\">\n<li>Brukernavn er <leverand\u00f8rkode>&#8211;<biblioteknummer>.&nbsp; Ex: \u201cbibsyst-5070901\u201d.&nbsp; Leverand\u00f8rkoden er hentet fra katalogsystemet i Base Bibliotek (sm\u00e5 bokstaver).&nbsp; F\u00f8lgende er registrert per 2024 i bruk i NL:<\/biblioteknummer><\/leverand\u00f8rkode>\n<ul class=\"wp-block-list\">\n<li>aleph<\/li>\n\n\n\n<li>bibsyst<\/li>\n\n\n\n<li>axiell<\/li>\n\n\n\n<li>bibsys<\/li>\n\n\n\n<li>oslokommune<\/li>\n\n\n\n<li>libriotech<\/li>\n\n\n\n<li>systematic<\/li>\n\n\n\n<li>bibits<\/li>\n\n\n\n<li>reindex<\/li>\n\n\n\n<li>bibservice<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Passordet er bibliotekets autentiseringkode fra Base Bibliotek (NB) + \u201c-\u201d + en leverand\u00f8rkode utlevert av Bibliotek-Systemer As.&nbsp; Ex: fA4g-f89kXZ.&nbsp; Dette passordet hashes med SHA-256.&nbsp;<\/li>\n\n\n\n<li>Brukernavnet og passordet Base64-enkodes s\u00e5 i henhold til Basic Authentication standarden.<\/li>\n\n\n\n<li>Oversikten over brukernavn og passord oppdateres hver dag ca. 05:30 basert p\u00e5 eksport fra Base Bibliotek.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">SOAP-kall<\/h3>\n\n\n\n<p><em>Dette er informasjon som ligger i WSDL-skjemaet og det er den som er den autorative kilden for SOAP-kallene.&nbsp; Ved tvil, sjekk WSDL-skjema.<\/em><\/p>\n\n\n\n<p>nyPost()<\/p>\n\n\n\n<p>Denne har ogs\u00e5 et alias nyLaaner() som gj\u00f8r det samme.&nbsp; Det anbefales at man bruker nyPost().<\/p>\n\n\n\n<p>Funksjonen legger inn ny l\u00e5ner.&nbsp; F\u00f8lgende elementer m\u00e5 opptre og v\u00e6re ikke-tomme: lnr, navn, fnr_hash.&nbsp; L\u00e5nernummer (fra forh\u00e5ndstildelt sekvens) m\u00e5 v\u00e6re satt fra klienten.&nbsp; Disse blir IGNORERT, og hentet fra FFREG: p_adresse1 eller p_postnr eller p_sted, fdato.&nbsp; Feltet kjonn blir ignorert for alle andre verdier enn &#8216;X&#8217;. Defaultverdi for p_land er no.&nbsp; Defaultverdi for hjemmebibliotek er biblioteket som utf\u00f8rer funksjonskallet. Server sjekker at l\u00e5nernummer og fnr_hash ikke forekommer fra f\u00f8r. Det opprettes implisitt en tilknytning mellom l\u00e5ner og biblioteket som utf\u00f8rer funksjonskallet.<\/p>\n\n\n\n<p>endre()<\/p>\n\n\n\n<p>Denne har ogs\u00e5 et alias endreLaaner() som gj\u00f8r det samme.&nbsp; Det anbefales at man bruker endre().<\/p>\n\n\n\n<p>Funksjonen oppdaterer posten i databasen med lnr lik parameteren lnr.&nbsp; Parameteren post inneholder de elementer som skal endres.&nbsp; Disse blir IGNORERT, og hentet fra FFREG: p_adresse1 eller p_postnr eller p_sted, fdato.&nbsp; Feltet kjonn blir ignorert for alle andre verdier enn &#8216;X&#8217;. Utelatte elementer beholder sin gamle verdi.&nbsp; Verdien for sist_endret kan ikke endres, men m\u00e5 stemme overens med gammel verdi.&nbsp; Elementer som opptrer uten innhold gir sletting av tilsvarende felt.&nbsp; Nye verdier for sist_endret og sist_endret_av blir satt av server.&nbsp; Ved endring av lnr blir gammelt_lnr satt av server. Det opprettes en tilknytning mellom l\u00e5ner og biblioteket som utf\u00f8rer funksjonskallet, hvis tilknytningen ikke finnes fra f\u00f8r.<\/p>\n\n\n\n<p>hent()<\/p>\n\n\n\n<p><strong>COMPAT:<\/strong> Denne vil gi en feilmelding hvis l\u00e5ner ikke er tilknyttet biblioteket, forventet aktivering i l\u00f8pet av 2024.<\/p>\n\n\n\n<p>Funksjonen henter poster med gitt l\u00e5nernummer (max 1) eller fnr_hash (max 2).&nbsp; Lengden av parameteren (identifikator) bestemmer hvilket felt det s\u00f8kes i.&nbsp; KUN l\u00e5nere som er tilknyttet biblioteket vil bli returnert.<\/p>\n\n\n\n<p>soek()<\/p>\n\n\n\n<p><strong>COMPAT\/DEPRECATED: <\/strong>Denne er forventet \u00e5 bli fjernet i l\u00f8pet av 2024.<\/p>\n\n\n\n<p>soekEndret()<\/p>\n\n\n\n<p>Funksjonen returnerer alle poster opprettet eller endret p\u00e5 eller senere enn &laquo;tidspunkt&raquo; og som er knyttet til biblioteket som utf\u00f8rer funksjonskallet.&nbsp; start_indeks regnes fra 1. max_antall=0 tolkes som ubegrenset.<\/p>\n\n\n\n<p>endre()<\/p>\n\n\n\n<p>Funksjonen oppdaterer posten i databasen med lnr lik parameteren lnr.&nbsp; Parameteren post inneholder de elementer som skal endres. Utelatte elementer beholder sin gamle verdi.&nbsp; Verdien for sist_endret kan ikke endres, men m\u00e5 stemme overens med gammel verdi.&nbsp; Elementer som opptrer uten innhold gir sletting av tilsvarende felt. Nye verdier for sist_endret og sist_endret_av blir satt av server.&nbsp; Ved endring av lnr blir gammelt_lnr satt av server.&nbsp; Det opprettes en tilknytning mellom l\u00e5ner og biblioteket som utf\u00f8rer funksjonskallet, hvis tilknytningen ikke finnes fra f\u00f8r.<\/p>\n\n\n\n<p>slett()<\/p>\n\n\n\n<p>Funksjonen sletter alle felt unntatt lnr, opprettet, opprettet_av, sist_endret og sist_endret_av. Biblioteket som utf\u00f8rer funksjonskallet m\u00e5 v\u00e6re tilknyttet brukeren.<\/p>\n\n\n\n<p>nyttBibliotek()<\/p>\n\n\n\n<p>Oppretter tilknytning mellom l\u00e5ner med gitt lnr og biblioteket som utf\u00f8rer funksjonskallet. Funksjonen brukes for \u00e5 melde til l\u00e5nerregisteret at biblioteket har etablert l\u00e5neren lokalt.<\/p>\n\n\n\n<p>fjernBibliotek()<\/p>\n\n\n\n<p>Fjerner tilknytning mellom l\u00e5ner med gitt lnr og biblioteket som utf\u00f8rer funksjonskallet.<\/p>\n\n\n\n<p>gyldigLnr()<\/p>\n\n\n\n<p>Sjekker om lnr er ledig og reservert av biblioteket som utf\u00f8rer funksjonskallet.<\/p>\n\n\n\n<p>hentKnytnger()<\/p>\n\n\n\n<p>Funksjonen henter biblioteknumre som l\u00e5nernummer er knyttet til. Returnerer ei liste med biblioteknummer og en verdi som forteller om biblioteket er hjemmebiblioteket(h) eller bare tilknyttet(t).<\/p>\n\n\n\n<p>hentMinimert()<\/p>\n\n\n\n<p>Funksjonen henter poster med gitt l\u00e5nernummer (max 1) eller fnr_hash (max 2). Lengden av parameteren (identifikator) bestemmer hvilket felt det s\u00f8kes i. Gir ut kun minimum med l\u00e5nerdata.<\/p>\n\n\n\n<p>soekMinimert()<\/p>\n\n\n\n<p>Funksjonen har 3 argumenter, &laquo;navn&raquo;, &laquo;fdato&raquo; og &laquo;fnr_hash&raquo;. Minst ett av feltene m\u00e5 v\u00e6re utfylt. Navn kan s\u00f8kes med maskeringstegn &#8216;%&#8217;. Gir ut kun minimum med l\u00e5nerdata.<\/p>\n\n\n\n<p>opprettBibKnytninger()<\/p>\n\n\n\n<p>Oppretter tilknytning mellom l\u00e5ner med gitt lnr og ett eller flere biblioteksnummer er angitt i parameteret bibnr. Funksjonen brukes for \u00e5 melde til l\u00e5nerregisteret at biblioteket har etablert l\u00e5neren lokalt. Mulige verdier for code: CONNECT_OK, CONNECT_FAIL_SYSTEM_MISMATCH, CONNECT_FAIL_ALREADY_CONNECTED, CONNECT_FAIL_INVALID_PATRON_ID, CONNECT_FAIL_PATRON_ID_NOT_FOUND, CONNECT_FAIL_LIBNO_NOT_FOUND, CONNECT_FAIL_GENERAL_ERROR.<\/p>\n\n\n\n<p>fjernBibKnytninger()<\/p>\n\n\n\n<p>Fjerner tilknytning mellom l\u00e5ner med gitt lnr og ett eller flere biblioteksnummer er angitt i parameteret bibnr. Mulige verdier for code: REMOVE_OK, REMOVE_FAIL_INVALID_PATRON_ID, REMOVE_FAIL_PATRON_ID_NOT_FOUND, REMOVE_FAIL_LIBNO_NOT_FOUND, REMOVE_FAIL_NOT_CONNECTED, REMOVE_FAIL_SYSTEM_MISMATCH, REMOVE_FAIL_GENERAL_ERROR&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kryptering av persondata<\/h3>\n\n\n\n<p>Feltet \u201cpassord\u201d krypteres med SHA-512\/PBKDF2 med 100000 iterasjoner.&nbsp; Feltet lagres i formatet: SHA-512\/PBKDF2\/100000#&lt;HASH&gt;#<\/p>\n\n\n\n<p>Ex:&nbsp; SHA-512\/PBKDF2\/100000#S6ncFUCHhvyY2FJ6#BBB1F657482B983FEDDDECF28796DED50D3D5B2C81C630B4D41FF82B559E899AE3A986C8291C66810F8D63458719CAA2DCAA32C7007F91E077A0E328DA161752#<\/p>\n\n\n\n<p>Feltet \u201cpin\u201d krypteres med AES-128-ECB med en utvekslet krypteringsn\u00f8kkel.&nbsp; \u201cpin\u201d paddes opp til 16 tegn f\u00f8r kryptering.&nbsp; Den krypterte strengen lagres i hexadecimalt format (sm\u00e5 bokstaver).<\/p>\n\n\n\n<p>Ex (PHP):<\/p>\n\n\n\n<p><em>$inputPIN=&#8217;2023&#8242;;<\/em><\/p>\n\n\n\n<p><em>$pinKey &nbsp; &nbsp; = &laquo;XXXXXXXXXXXXXXXXX&raquo;;<\/em><\/p>\n\n\n\n<p><em>$algo &nbsp; &nbsp; &nbsp; = &#8216;AES-128-ECB&#8217;;<\/em><\/p>\n\n\n\n<p><em>$padByteVal = (16 &#8211; strlen($inputPIN));<\/em><\/p>\n\n\n\n<p><em>if ($padByteVal &gt; 0) {<\/em><\/p>\n\n\n\n<p>&nbsp;<em>&nbsp;$inputPIN = iPadToLength($inputPIN, 16, $padByteVal);<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<p><em>$enc_INPUT_PIN_BIN = openssl_encrypt($inputPIN, $algo, $pinKey, (OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING));<\/em><\/p>\n\n\n\n<p><em>$enc_INPUT_PIN_HEX = bin2hex($enc_INPUT_PIN_BIN);<\/em><\/p>\n\n\n\n<p>$enc_INPUT_PIN_HEX inneholder den krypterte pinkoden (i hex) og kan utveksles med NL.&nbsp; pinKey er krypteringsn\u00f8kkelen som hver systemleverand\u00f8r har f\u00e5tt tilgang til.<\/p>\n\n\n\n<p>Feltet \u201cfnrhash\u201d utveksles i klartekst, men krypteres i NL og det anbefales sterkt at man gj\u00f8r tilsvarende i det lokale systemet.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FLYT &#8211; Autentisering av l\u00e5ner &#8211; OpenID Connect<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>L\u00e5ner klikker p\u00e5 \u201cLogg inn med Bibliotekkortet\u201d (eller tilsvarende tekst) i lokalt biblioteksystem.<\/li>\n\n\n\n<li>L\u00e5ner blir videresendt til OIDC-side hos Bibliotekkortet (NL).<\/li>\n\n\n\n<li>L\u00e5ner velger autentiseringsmetoden (pin, passord, Feide, ID-Porten, m.fl.).\n<ol class=\"wp-block-list\">\n<li>L\u00e5ner klikker avbryt under autentiseringen og blir sendt tilbake til \u201ccancel-URL\u201d.<\/li>\n\n\n\n<li>L\u00e5ner fullf\u00f8rer autentiseringen og g\u00e5r videre til #4.<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>L\u00e5ner blir videresendt tilbake til lokalt biblioteksystem med authcode i URL.<\/li>\n\n\n\n<li>Lokalt biblioteksystem bruker authcode i et backchannel REST-kall for \u00e5 hente ID token og access token.\n<ol class=\"wp-block-list\">\n<li>ID token inneholder \u201cpid\u201d som vil v\u00e6re f\u00f8dselsnummeret til l\u00e5neren.<\/li>\n\n\n\n<li>ID token inneholder feltet \u201cisnl\u201d som sier om l\u00e5neren har nasjonalt l\u00e5nekort (true) eller ikke (false).<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Lokalt biblioteksystem kan bruke access token for \u00e5 hente ut persondata om l\u00e5neren.<\/li>\n\n\n\n<li>Lokalt biblioteksystem autoriserer l\u00e5neren.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">FLYT &#8211; Opprett knytning<\/h3>\n\n\n\n<p><strong><\/strong>Ved s\u00f8k p\u00e5 navn<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Biblioteket s\u00f8ker etter en l\u00e5ner vha soekMinimert().<\/li>\n\n\n\n<li>Biblioteket matcher l\u00e5neren med trefflisten fra soekMinimert().<\/li>\n\n\n\n<li>Biblioteket knytter l\u00e5neren til seg vha nyttBibliotek() eller opprettBibKnytninger().<\/li>\n\n\n\n<li>Biblioteket laster ned persondata for l\u00e5neren vha hent().<\/li>\n<\/ol>\n\n\n\n<p>Ved oppslag p\u00e5 l\u00e5nerkortnummer eller f\u00f8dselsnummer<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Biblioteket henter persondata vha hentMinimert().<\/li>\n\n\n\n<li>Biblioteket sjekker at persondata matcher l\u00e5neren.<\/li>\n\n\n\n<li>Biblioteket knytter l\u00e5neren til seg vha nyttBibliotek() eller opprettBibKnytninger().<\/li>\n\n\n\n<li>Biblioteket laster ned persondata for l\u00e5neren vha hent().<\/li>\n<\/ol>\n\n\n\n<p>nyttBibliotek() knytter l\u00e5neren til biblioteknummeret som ligger i Basic Authentication autentiseringen.&nbsp; Det er ikke mulig \u00e5 knytte til andre biblioteknumre eller til flere.<\/p>\n\n\n\n<p>opprettBibKnytninger() kan brukes for \u00e5 knytte l\u00e5neren til flere biblioteknumre i samme operasjon og er ikke begrenset til autentisert biblioteknummer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FLYT &#8211; Ny l\u00e5ner<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Biblioteket s\u00f8ker eller sl\u00e5r opp l\u00e5ner og f\u00e5r ikke noen treff.<\/li>\n\n\n\n<li>Biblioteket sjekker om l\u00e5nekortet (N-nummeret) tilh\u00f8rer biblioteket vha REST-servicen \/nummersjekk.&nbsp; Hvis biblioteknummeret ikke eier Bibliotekkortet m\u00e5 systemet gj\u00f8re en ekstra sjekk p\u00e5 at biblioteket har rett til \u00e5 ta det i bruk.&nbsp; Dette skjer vanligvis n\u00e5r l\u00e5neren opprettes som lokal l\u00e5ner i lokalt biblioteksystem.&nbsp; Det m\u00e5 gj\u00f8res f\u00f8r #3.<\/li>\n\n\n\n<li>Biblioteket laster opp ny l\u00e5ner vha nyPost().<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">FLYT &#8211; Oppdatering av persondata<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Biblioteket oppdaterer persondata p\u00e5 en nasjonal l\u00e5ner.&nbsp; Persondata i dette tilfellet betyr data som skal synkroniseres med NL, s\u00e5 som e-postadresse, mobilnummer, pinkode og passord, m.fl.&nbsp; Hvis l\u00e5neren oppdateres p\u00e5 noen som helst m\u00e5te som ikke inkluderer endring i NL data (l\u00e5n, innlogging i biblioteksystemet, digitale tjenester, osv.) skal biblioteket i stedet kalle REST-servicen \/sistaktiv for \u00e5 registrere at l\u00e5neren er aktiv slik at l\u00e5neren ikke blir slettet fra NL etter 2 \u00e5r uten aktivitet.&nbsp; Det anbefales at man samler disse opp og oppdaterer dem nattlig eller ukentlig for \u00e5 unng\u00e5 un\u00f8dvendig ressursbruk\/treghet (i lokalt system) mens systemet brukes.<\/li>\n\n\n\n<li>Biblioteket oppdaterer persondata umiddelbart i NL vha endre().<\/li>\n\n\n\n<li>NL sender ut NCIP-kallet UserUpdated til alle biblioteknumrene l\u00e5neren er tilknyttet.<\/li>\n\n\n\n<li>Bibliotekene som mottar NCIP-kallet\n<ol class=\"wp-block-list\">\n<li>oppdaterer l\u00e5neren i sine lokale systemer.<\/li>\n\n\n\n<li>gj\u00f8r kall mot NL jevnlig (hvert 5-15 minutt) og ber om endrede l\u00e5nere som s\u00e5 oppdateres i deres lokale systemer.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Opprinnelig prosjektbeskrivelse (2005)<\/h3>\n\n\n\n<p><a href=\"https:\/\/lanekortet.no\/prosjektbeskrivelse.pdf\">https:\/\/lanekortet.no\/prosjektbeskrivelse.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6868,"featured_media":0,"parent":2156,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nb_hide_title":false,"sub_navigation_option":"","sub_navigation_custom_items":[],"footnotes":""},"class_list":["post-2353","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dokumentasjon til den tekniske l\u00f8sningen - Kunnskapsorganisering<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dokumentasjon til den tekniske l\u00f8sningen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/\" \/>\n<meta property=\"og:site_name\" content=\"Kunnskapsorganisering\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-10T10:39:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ansl. lesetid\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/\",\"url\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/\",\"name\":\"Dokumentasjon til den tekniske l\u00f8sningen - Kunnskapsorganisering\",\"isPartOf\":{\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#website\"},\"datePublished\":\"2024-10-09T09:22:34+00:00\",\"dateModified\":\"2024-10-10T10:39:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nasjonalt samarbeid om l\u00e5nerregister og Bibliotekkortet\",\"item\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dokumentasjon til den tekniske l\u00f8sningen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#website\",\"url\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/\",\"name\":\"Kunnskapsorganisering\",\"description\":\"Ressurser i kunnskapsorganisering\",\"publisher\":{\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nb-NO\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#organization\",\"name\":\"Kunnskapsorganisering\",\"url\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/bibliotekutvikling.no\/content\/uploads\/sites\/8\/2024\/07\/MiniatyrBilde_logo.png\",\"contentUrl\":\"https:\/\/bibliotekutvikling.no\/content\/uploads\/sites\/8\/2024\/07\/MiniatyrBilde_logo.png\",\"width\":824,\"height\":744,\"caption\":\"Kunnskapsorganisering\"},\"image\":{\"@id\":\"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dokumentasjon til den tekniske l\u00f8sningen - Kunnskapsorganisering","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/","og_locale":"nb_NO","og_type":"article","og_title":"Dokumentasjon til den tekniske l\u00f8sningen","og_url":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/","og_site_name":"Kunnskapsorganisering","article_modified_time":"2024-10-10T10:39:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Ansl. lesetid":"8 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/","url":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/","name":"Dokumentasjon til den tekniske l\u00f8sningen - Kunnskapsorganisering","isPartOf":{"@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#website"},"datePublished":"2024-10-09T09:22:34+00:00","dateModified":"2024-10-10T10:39:12+00:00","breadcrumb":{"@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/dokumentasjon-til-den-tekniske-losningen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/"},{"@type":"ListItem","position":2,"name":"Nasjonalt samarbeid om l\u00e5nerregister og Bibliotekkortet","item":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/nasjonalt-samarbeid-om-lanerregister-og-bibliotekkortet\/"},{"@type":"ListItem","position":3,"name":"Dokumentasjon til den tekniske l\u00f8sningen"}]},{"@type":"WebSite","@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#website","url":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/","name":"Kunnskapsorganisering","description":"Ressurser i kunnskapsorganisering","publisher":{"@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nb-NO"},{"@type":"Organization","@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#organization","name":"Kunnskapsorganisering","url":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/","logo":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#\/schema\/logo\/image\/","url":"https:\/\/bibliotekutvikling.no\/content\/uploads\/sites\/8\/2024\/07\/MiniatyrBilde_logo.png","contentUrl":"https:\/\/bibliotekutvikling.no\/content\/uploads\/sites\/8\/2024\/07\/MiniatyrBilde_logo.png","width":824,"height":744,"caption":"Kunnskapsorganisering"},"image":{"@id":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/pages\/2353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/users\/6868"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/comments?post=2353"}],"version-history":[{"count":3,"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/pages\/2353\/revisions"}],"predecessor-version":[{"id":2366,"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/pages\/2353\/revisions\/2366"}],"up":[{"embeddable":true,"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/pages\/2156"}],"wp:attachment":[{"href":"https:\/\/beta.bibliotekutvikling.no\/kunnskapsorganisering\/wp-json\/wp\/v2\/media?parent=2353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}