Integrationer
Vad är skillnaden mellan API och filöverföring?
API (Application Program Interface) är ett kontrollerat sätt att överföra information och fungerar som en bro mellan två eller flera system.
Kort svar: API är ett gränssnitt, inte en fil
API (Application Program Interface) är ett kontrollerat sätt att överföra information och fungerar som en bro mellan två eller flera system. Det är ett gränssnitt där system hämtar eller skickar data – inte en fil som flyttas mellan mappar. Filöverföring innebär att en fil skickas från ett system till ett annat. Skillnaden är alltså: API:et är en aktiv förbindelse där ett system gör ett anrop och får ett svar, medan filöverföringen är en separat överföringshändelse där en färdig fil skickas.
API som bro mellan system
Skatteverket beskriver ett API som en bro mellan exempelvis två system och som en mellanhand eller översättare som hjälper två parter som inte pratar samma språk att kommunicera. Ett API består av byggstenar, så kallade endpoints, som tillsammans gör det möjligt att skapa precisa, effektiva och komplexa lösningar för ett specifikt behov. Tack vare API:et kan systemen prata med varandra utan att känna till varandras inre uppbyggnad. e-identitet formulerar samma sak: ni behöver bara känna till vilka anrop som finns och vilken data de väntar sig, inte hur det andra systemet fungerar inuti. Då kan system byggda i olika tekniker och av olika leverantörer samarbeta. Skatteverkets API Skattekonto gör exempelvis att företagare kan se sitt saldo från skattekontot direkt i sina valda bokförings- eller redovisningsprogram.
Så sker datautbytet i ett API-anrop
Ett webb-API bygger på enkla anrop och svar: ert system skickar ett anrop till en bestämd adress hos en annan tjänst och får tillbaka den data ni bad om. Vanligast är REST, där anropen går över HTTP, samma protokoll som webbläsaren använder. Datan skickas oftast i JSON, ett textformat som är lättläst för både människor och maskiner. Det finns flera API-typer; Skatteverket nämner REST API och SOAP API som bland de vanligare och erbjuder båda. REST beskrivs som flexibelt och kan hantera flera typer av anrop och format, där JSON och XML är vanligast. Utvecklare anser ofta att REST API:er är enklare att implementera, förstå och felsöka, och REST är skalbart på ett annat sätt än SOAP.
Enligt Skatteverket anger API:et vilken information som får skickas mellan systemen genom fördefinierade regler. För att skydda känslig information kan API:et kräva att ni identifierar er med en API-nyckel innan systemen kan prata med varandra, vilket e-identitet gör. API:er kan vara öppna eller stängda: ett öppet API har publik dokumentation så att vem som helst kan bygga mot det, medan ett stängt API bara används internt eller av utvalda partner.
Skillnaden i praktiken: automation, realtid och felrisk
Med API kan återkommande uppgifter skötas automatiskt i stället för att någon loggar in i en tjänst, fyller i uppgifter och för över resultatet för hand. e-identitet lyfter fram tre fördelar: automatisering, färre fel och system i synk i realtid. Färre fel uppstår när data flödar direkt mellan systemen och dubbelregistrering undviks; system i synk innebär att systemen håller samma information uppdaterad i realtid. Ett avtal kan till exempel skapas automatiskt när ett nytt ärende uppstår. Skatteverket beskriver samma mönster: API:er gör att information kan överföras automatiskt och att man slipper manuell handpåläggning och den ökande risken för fel som den ofta innebär. Ett API-anrop sker när systemet behöver hämta eller skicka data, medan en filöverföring är en separat överföringshändelse där en fil skickas från ett system till ett annat.
Säkerhet och kontroll i API-flödet
IMY skriver att API-säkerhet blir allt viktigare eftersom API:er ofta exponerar personuppgifter och annan skyddsvärd information. API-säkerhet ska skydda API:er från attacker, dataläckor och missbruk och se till att endast auktoriserade personer och system får tillgång till data. Konkreta skyddsåtgärder som nämns är autentisering och auktorisering med till exempel OAuth 2.0, JWT och MFA, inmatningsvalidering, hastighetsbegränsning, kryptering med HTTPS och TLS, säkerhetstestning samt övervakning och loggning.
Computer Sweden beskriver att API:er ofta får för stora systemrättigheter och att bristen på standarder gör att de kan innehålla sårbarheter. Enligt undersökningar från Akamai ligger API:er till grund för 75 procent av alla stölder av inloggningsuppgifter världen över. IMY rekommenderar att säkerheten beaktas från början och under hela utvecklingsprocessen, bland annat genom att analysera designen, kodgranska, testa säkerheten och dokumentera resultaten. Källorna här beskriver inte vilka risker som är specifika för filöverföring; de behandlar API-säkerhet.
Säkerhetsåtgärder för API:er enligt svenska källor
- Kryptering
- HTTPS och TLS
- Hastighetsbegränsning
- För att motstå attacker
- Övervakning & loggning
- Krävs för säkerhet och efterlevnad
- Dataläckage risk (världen över)
- 75 % av inloggningsstölder via API
När API är rätt val – och var filöverföring kommer in
API är särskilt användbart när integrationen är återkommande och systemen ska hållas uppdaterade. e-identitet pekar på att återkommande uppgifter kan ske automatiskt, att dubbelregistrering och misstag vid manuell överföring undviks, och att systemen håller samma information uppdaterad i realtid. Behöver ni hitta befintliga API:er i offentlig sektor finns Diggs nationella API-katalog, där tillgängliga API:er publiceras så att de kan hittas och utforskas från ett samlat ställe. Digg har också en API Playbook med vägledning och riktlinjer för utveckling och hantering av API:er, samt en nationell REST API-profil med SKALL/BÖR/KAN-krav som stöd för interoperabla API:er. Filöverföring kan vara ett alternativ när ett API inte finns eller inte är tillgängligt, men källorna i underlaget beskriver inte filöverföringens tekniska upplägg eller risker.
Steg för att använda ett API i svensk offentlig sektor
- 1. Hitta tillgängligt APIVia Diggs nationella API-katalog.
- 2. Studera dokumentationAnvänd Digg:s API Playbook och REST API-profil.
- 3. Registrera dig och få API-nyckelKrävs för auktorisering enligt e-identitet.
- 4. Implementera anropAnvänd REST API med JSON över HTTP.
- 5. Testa och övervakaSäkerhetstestning och loggning enligt IMY.

