
Vad är ett API?
API står för Application Programming Interface, på svenska programmeringsgränssnitt. Ett API innehåller regler och funktioner som gör det möjligt för olika program och system att kommunicera och utbyta information med varandra.
Med ett API kan ett system exempelvis hämta, skicka eller uppdatera information i ett annat system utan att en användare behöver registrera uppgifterna manuellt.
Hur fungerar ett API?
Ett API fungerar som en överenskommelse mellan system. Överenskommelsen beskriver vilka funktioner som är tillgängliga, vilken information som kan skickas och hur kommunikationen ska gå till.
När ett system vill hämta eller ändra information skickar det ett API-anrop. Det mottagande systemet behandlar anropet och skickar tillbaka ett svar.
Ett förenklat flöde kan se ut så här:
- Ett system skickar ett anrop till en bestämd API-adress.
- API:t kontrollerar anropet och avsändarens behörighet.
- Det mottagande systemet utför den tillåtna åtgärden.
- API:t skickar tillbaka information eller en statuskod.
- Det anropande systemet behandlar svaret.
Vilka delar ingår i ett API?
Endpoint
En endpoint är en adress till en viss funktion eller resurs i API:t. Olika endpoints kan exempelvis användas för att hämta anställda, uppdatera kontaktuppgifter eller överföra löneunderlag.
API-anrop
Ett API-anrop är den förfrågan som ett system skickar till API:t. Anropet innehåller information om vilken åtgärd som ska utföras och kan även innehålla data som ska registreras eller uppdateras.
API-svar
API-svaret visar resultatet av anropet. Svaret kan innehålla efterfrågad information, en bekräftelse på att en ändring har genomförts eller ett felmeddelande.
Autentisering
Autentisering används för att kontrollera vem eller vilket system som gör anropet. Det kan exempelvis ske genom en API-nyckel, användaruppgifter, certifikat eller en standardiserad autentiseringslösning.
Auktorisering
Auktorisering avgör vilken information och vilka funktioner den autentiserade användaren eller systemkopplingen får komma åt.
API-dokumentation
API-dokumentationen beskriver hur API:t ska användas. Den bör bland annat förklara tillgängliga endpoints, parametrar, dataformat, autentisering, behörigheter, felkoder och eventuella begränsningar.
Vilka metoder används i ett webb-API?
Webb-API:er använder ofta HTTP, samma grundläggande protokoll som används för kommunikation på webben. Vanliga metoder är:
- GET: Hämtar information.
- POST: Skickar eller skapar information.
- PUT: Ersätter eller uppdaterar en resurs.
- PATCH: Uppdaterar delar av en resurs.
- DELETE: Begär att en resurs tas bort.
Vilka metoder och åtgärder som är tillgängliga bestäms av det aktuella API:t.
Vad är ett REST API?
REST står för Representational State Transfer och är en uppsättning arkitekturprinciper för distribuerade system.
Begreppet REST API används ofta om webb-API:er som arbetar med resurser och standardiserade HTTP-metoder. Alla HTTP-baserade API:er följer dock inte samtliga REST-principer, även om de ibland beskrivs som REST API:er.
Vad är ett öppet API?
Ett öppet eller publikt API är tillgängligt för externa utvecklare, kunder eller samarbetspartner enligt de villkor som API-leverantören har fastställt.
Att ett API är öppet betyder inte nödvändigtvis att:
- vem som helst får använda det utan avtal
- det är kostnadsfritt
- alla funktioner och uppgifter är tillgängliga
- det kan användas utan autentisering
- det saknar begränsningar för antal anrop
Ett öppet API kan fortfarande kräva avtal, licens, autentisering och särskilda behörigheter.
Vad är ett privat API?
Ett privat eller internt API används inom en organisation eller av en begränsad grupp godkända system och samarbetspartner.
Privata API:er används ofta för att koppla samman interna system, automatisera processer och skapa gemensamma dataflöden utan att funktionerna görs allmänt tillgängliga.
Vad är skillnaden mellan ett API och en integration?
Ett API är själva gränssnittet som gör kommunikationen möjlig. En integration är den färdiga kopplingen och det dataflöde som byggs mellan två eller flera system.
Ett API kan alltså användas för att skapa en integration, men API:t är inte hela integrationen. En fungerande integration behöver även regler för exempelvis:
- vilka uppgifter som ska överföras
- vilket system som är master för informationen
- när informationen ska skickas
- hur fält i systemen ska matchas
- hur fel och avbrott ska hanteras
- hur överföringen ska övervakas
- vem som ansvarar för integrationen
Vad är skillnaden mellan API och filöverföring?
Både API:er och filer kan användas för att överföra information mellan system.
En filbaserad integration överför normalt information samlat vid bestämda tidpunkter. Det kan exempelvis ske genom att en CSV- eller XML-fil exporteras från ett system och läses in i ett annat.
En API-integration kan göra det möjligt att hämta eller uppdatera information mer direkt. Det betyder dock inte automatiskt att överföringen sker i realtid. Tidpunkten beror på hur integrationen har byggts och hur ofta den anropar API:t.
API:er kan passa bra när:
- information behöver uppdateras ofta
- ett system bara behöver vissa utvalda uppgifter
- ett automatiserat flöde ska reagera på förändringar
- flera system behöver använda samma information
- avsändaren behöver få ett direkt svar på ett anrop
Filöverföring kan fortfarande vara lämplig för stora, återkommande batcher eller när ett system saknar relevant API-stöd.
Hur används API:er inom HR och lön?
API:er kan koppla samman ett HRM-system med exempelvis lönesystem, ekonomisystem, bemanningssystem, analysverktyg och andra verksamhetssystem.
Exempel på information som kan överföras är:
- anställningsuppgifter
- organisatorisk tillhörighet
- befattning och kontaktuppgifter
- arbetad tid och frånvaro
- schemainformation
- löneunderlag
- reseräkningar och utlägg
- konteringsuppgifter
- lönespecifikationer
- statistik och rapporteringsunderlag
Vilka uppgifter som kan hämtas eller uppdateras beror på API:ets funktioner, organisationens behörigheter och hur integrationen har utformats.
Vilka fördelar kan ett API ge?
Ett väl utformat API kan bidra till:
- mindre manuell registrering
- färre dubbla registreringar
- mer aktuella uppgifter i anslutna system
- minskad risk för manuella överföringsfel
- snabbare och mer flexibla integrationer
- tydligare automatiserade arbetsflöden
- möjlighet att använda specialiserade system tillsammans
- bättre förutsättningar att skala integrationer
Nyttan beror på datakvaliteten, systemens funktioner och hur väl integrationen är byggd och förvaltad.
Vad behöver man tänka på vid en API-integration?
Innan en API-integration byggs bör organisationen klargöra:
- vilket verksamhetsbehov integrationen ska lösa
- vilken information som ska överföras
- vilket system som ska vara master för varje uppgift
- hur ofta informationen behöver uppdateras
- vilka behörigheter integrationen behöver
- hur personuppgifter och känsliga uppgifter ska skyddas
- hur fel, avbrott och dubbletter ska hanteras
- hur ändringar i API:t ska testas och införas
- vem som ansvarar för drift, support och uppföljning
En integration bör också testas med realistiska scenarier innan den används i den ordinarie verksamheten.
Hur skyddas ett API?
API-säkerhet omfattar både tekniska och organisatoriska åtgärder. Relevanta åtgärder kan bland annat vara:
- stark autentisering
- korrekt behörighetsstyrning
- minsta möjliga behörighet
- krypterad kommunikation
- säker hantering av nycklar och inloggningsuppgifter
- begränsning av antalet tillåtna anrop
- validering av information som tas emot
- loggning och övervakning
- regelbundna säkerhetstester
- rutiner för incidenter och förändringar
Autentisering visar vem som gör ett anrop. Auktorisering kontrollerar vad den personen eller systemkopplingen får göra. Båda delarna behövs för att skydda informationen.
Hur påverkar GDPR en API-integration?
När personuppgifter överförs via ett API är överföringen en behandling av personuppgifter. Organisationen behöver därför säkerställa att behandlingen följer dataskyddsförordningen.
Det innebär bland annat att:
- det ska finnas ett tydligt ändamål och en rättslig grund
- bara nödvändiga personuppgifter ska överföras
- uppgifterna ska vara korrekta
- åtkomsten ska begränsas till behöriga mottagare
- lämpliga säkerhetsåtgärder ska användas
- ansvarsfördelningen mellan parterna ska vara tydlig
- lagring, loggning och gallring ska hanteras på ett kontrollerat sätt
HR- och lönedata kan innehålla integritetskänsliga uppgifter. Behörigheter och datamängder bör därför begränsas till vad integrationen faktiskt behöver.
Vanliga frågor om API
Vad står API för?
API står för Application Programming Interface. På svenska används ofta begreppet programmeringsgränssnitt.
Är API ett program?
Nej. Ett API är ett gränssnitt med regler och funktioner som andra program kan använda för att kommunicera med ett system.
Är ett öppet API tillgängligt för alla?
Inte nödvändigtvis. Ett öppet API kan kräva avtal, licens, autentisering och särskilda behörigheter.
Är en API-integration alltid i realtid?
Nej. Ett API kan möjliggöra snabb och direkt kommunikation, men hur ofta information överförs bestäms av integrationens utformning.
Vad är en API-nyckel?
En API-nyckel är en uppgift som kan användas för att identifiera och autentisera ett system som gör API-anrop. Nyckeln ska hanteras som en skyddsvärd hemlighet.
Vad är en endpoint?
En endpoint är en specifik adress till en funktion eller resurs i ett API.
Vad händer om ett API ändras?
En ändring kan påverka anslutna integrationer. Därför behövs versionshantering, dokumentation, tester och rutiner för att hantera förändringar.
Vem bygger en API-integration?
En API-integration byggs normalt av utvecklare hos kunden, systemleverantören eller en integrationspartner. Verksamheten behöver samtidigt definiera vilka processer, regler och uppgifter integrationen ska hantera.