Elfur-API
Elfur-API er vefþjónustulag sem gerir kerfum kleift að tengjast beint við grunnkerfi Fjársýslunnar.
Með Elfur-API getur stofnun eða samstarfsaðili:
sent og sótt gögn sjálfvirkt á milli kerfa
einfaldað gagnaskil og dregið úr handvirkri vinnu
tryggt samræmda og örugga miðlun gagna
Elfur-API styður þannig við aukna sjálfvirkni og skilvirkni í samskiptum við Fjársýsluna og aðrar ríkisstofnanir.
Sjá skilmála Elfur-API (Í vinnslu)
Hvað er Elfur-API?
Elfur-API er í grunninn vefþjónusta sem veitir samræmdan aðgang að ýmsum kerfum og gagnasöfnum Fjársýslunnar með stöðluðu REST-viðmóti yfir HTTPS. Markmiðið er að auðvelda örugga og skilvirka vinnslu gagna, styðja samþættingu milli kerfa og auka samræmi í stafrænum lausnum ríkisins. Með Elfur-API geta stofnanir og samstarfsaðilar þeirra nálgast og unnið með gögn á einfaldan, öruggan og samræmdan hátt.
Elfur-API er ætlað:
stofnunum og opinberum aðilum sem tengjast kerfum Fjársýslunnar
þjónustuaðilum sem vinna með gögn Fjársýslunnar
verktökum og tækniteymum sem þróa stafrænar lausnir fyrir stofnanir
Helstu kostir
Samræmt viðmót: Aðgangur fer fram í gegnum staðlað REST/JSON viðmót yfir HTTPS
Örugg auðkenning: Notað er OAuth 2.0 auðkenningarferli (client credentials)
Útgáfustýring: Þjónustan er útgáfustýrð (t.d. /v1/...) sem tryggir stöðugleika og fyrirsjáanleika
Skjölun: OpenAPI 3 skjölun með gagnvirkri skjölunarsíðu auðveldar innleiðingu
Sjálfvirk rekstur: Uppsetning og prófanir eru sjálfvirkar með Azure Pipelines
Helstu kostir og notagildi
Eitt aðgangslag að mörgum kerfum. Þjónustur og gagnasöfn Fjársýslunnar liggja á bak við staðlaða endapunkta í stað þess að hvert kerfi sé með eigin vefþjónustu
Öryggi í fyrirrúmi. Hver kallandi þarf gildan client og hefur aðeins þau réttindi (e. scopes) sem honum hafa verið veitt
Sjálfsafgreiðsla. Skjölunin er birt opinberlega innan hvers umhverfis og er uppfærð í takt við kóðagrunninn
Stöðug þróun. Nýir flokkar (e. domains) eru fyrst gefnir út sem Beta áður en þeir verða almennt aðgengilegir, svo samstarfsaðilar geta prófað þá á meðan útfærsla er enn í mótun
Umhverfi
Elfur-API keyrir í þremur aðskildum umhverfum. Hvert umhverfi hefur sína eigin grunnslóð, sinn Identity Server til auðkenningar og sinn gagnastofn.
Umhverfi | Tilgangur | Grunnslóð (API) |
Þróun (dev) | Tilraunir, smíði og prófanir í þróun | https://fjs-cdn-endpoint-elfur-dev-c6epg2fhcyc2a5bh.a03.azurefd.net |
Prófun (test / staging) | Sannprófun fyrir uppsetningu í raunumhverfi | https://fjs-cdn-endpoint-elfur-test-hhesbzhxabbwbqen.a03.azurefd.net |
Raunumhverfi (prod) | Raunkeyrsla samstarfsaðila | https://fjs-cdn-endpoint-elfur-prod-azescphpe7b5ecf2.a03.azurefd.net |
Samsvarandi token-endapunktar fyrir auðkenningu:
Umhverfi | Token endapunktur |
Þróun | https://identity-server.dev01.devland.is/connect/token |
Prófun | https://identity-server.staging01.devland.is/connect/token |
Raunumhverfi | https://innskra.island.is/connect/token |
Gögnin í dev- og test-umhverfunum eru ekki raungögn. Ekki skal reiða sig á þau í raunkeyrslu. Raunumhverfið vinnur með raunverulegar færslur og er samnýtt auðlind sem þarf að umgangast af varúð.
Skjölun og OpenAPI / Swagger
Hvert umhverfi birtir sína gagnvirku skjölun á eftirfarandi slóðum. Skeytið grunnslóð viðkomandi umhverfis framan við hvern stíg úr töflunni hér að ofan:
Markmið | Stígur |
Yfirlitssíða (flokkalisti) | /docs |
Skjölun fyrir einstakan flokk (Scalar) | /docs/{flokkur} |
OpenAPI JSON skilgreining | /swagger/{docName}/swagger.json |
Eldri slóðir | /swagger og /swagger/index.html (vísa á /docs) |
Dæmi (prófunarumhverfi):
https://fjs-cdn-endpoint-elfur-test-hhesbzhxabbwbqen.a03.azurefd.net/docs
Yfirlitssíðan listar alla flokka, sýnir stöðu hvers og eins (sjá kafla 5) og veitir bæði aðgang að gagnvirkri skjölun og niðurhal á OpenAPI-skilgreiningunni.
Stöður flokka
Elfur-API er skipt upp í flokka (e. domains) eftir eðli gagna eða verkferla. Hver flokkur hefur stöðu sem segir til um hve stöðug viðmótin innan flokksins eru. Stöðurnar birtast sem merki á yfirlitssíðunni /docs:
Staða | Merking |
Available | Stöðugt og með fullan stuðning fyrir raunkeyrslu. Breytingar sem brjóta samhæfni koma aðeins fram á nýjum aðalútgáfum. |
Beta | Nothæft, en getur enn breyst áður en það verður almennt aðgengilegt. |
Deprecated | Verður stutt um tíma en áætlað er að leggja niður. Forðist nýja samþættingu við þessa endapunkta. |
Núverandi listi flokka og staða þeirra birtist alltaf á /docs í hverju umhverfi — notið þá síðu sem eina sannleiksuppsprettu um hvað er Available, Beta eða Deprecated hverju sinni.
Auðkenning
Elfur-API notar OAuth 2.0 client-credentials flæði til auðkenningar. Samstarfsaðili sækir um:
Client ID og Client Secret hjá Fjársýslunni
Scopes — réttindasafn sem segir til um hvaða flokka og aðgerðir clientinn má kalla á. Nöfn fylgja sniðinu @fjs.is/elfur_<flokkur>_<read|write>, t.d. @fjs.is/elfur_vacancy_read. Listinn yfir tiltæk scope er birtur í skjölun hvers flokks
Flæðið í stuttu máli:
Senda POST á token-endapunkt umhverfisins með grant_type=client_credentials, client_id, client_secret og bil-aðskildum lista af scope
Nota skilað access_token í Authorization: Bearer <token> haus þegar kallað er á Elfur-API
Aðgangsstýring sumra endapunkta (t.d. fyrir starfsmannagögn) tekur einnig mið af client_id. Client-inn getur þurft sérstaka heimild fyrir tiltekna stofnun til viðbótar við scope-réttindi. Skjölun hvers flokks lýsir þeim sérkröfum.
Útgáfustýring
Allar slóðir innihalda útgáfunúmer í stígnum (/v1/...)
Núverandi útgáfa er v1
Breytingar sem brjóta samþættingar fara á nýja aðalútgáfu; viðbætur sem brjóta ekki samþættingar eru gefnar út innan sömu útgáfu
Þegar nýjar útgáfur eru gefnar út uppfærist yfirlitssíðan /docs sjálfkrafa
Stuðningur og samband
Skjölun og prófun: Notið /docs síðuna í viðeigandi umhverfi
Aðgangur, scopes og samþætting: Hafið samband við aðgangsstjórn Fjársýslunnar
Bilanir og atvikamál: Tilkynnist í gegnum venjuleg þjónustusamskipti við Fjársýsluna
Athugið að þetta skjal er ætlað sem yfirlit. Ítarleg lýsing endapunkta, gagnasnið og breytingarsaga er alltaf birt í gagnvirkri skjölun á /docs í hverju umhverfi.
