2021-06-16
Ett API är en strukturerad, dokumenterad och säker anslutningspunkt till ett system som är avsedd för andra system. På samma sätt som en människa kommunicerar med ett system via ett grafiskt gränssnitt som har vyer, listor och, knappar så kommunicerar ett system med ett annat via ett API som har anrop och bestämda dataformat. Förkortningen API betyder Application Programming Interface, vilket också visar på släktskapet med UI - User Interface (d.v.s. det grafiska gränssnittet avsett för människor).
Ordet API används för relativt många olika sorters gränssnitt mellan applikationer, system och plattformar. Bluetooth är en sorts API som beskriver hur mobila enheter ska kommunicera med varandra, ett annat API är det som en dator använder för att kommunicera med sitt grafikkort.
När man pratar om API I dagligt tal och i media menar man dock nästan alltid ett API till en applikation eller ett system som nås via internet. Det är också den sortens API som den här texten handlar om. Ett sådant API kan erbjuda funktioner för att hämta information, men också för att utföra aktiviteter - t.ex. beställa en tjänst eller vara, skicka in en anmälan, ändra uppgifter för en användare eller starta en process av något slag.
Ett API är en del av ett system. Även om det kan upplevas som att ett API är något som ligger mellan olika system så är det en del av något av de system som är ihopkopplade. Den som äger systemet som har API:et äger och kontrollerar alltså också API:et och hur det får användas. Ibland har består en hopkoppling av system av flera API:er där de olika systemen har varsitt API.
Vissa API:er är stängda, vilket innebär att de bara är avsedda för användning av en organisations egna system. Exempel på det är när man har specialbyggt ett API för bara en webbtjänst. Ett sånt API har väldigt specialiserade funktioner som är helt anpassade för att leverera just den information och de anrop som webbtjänsten behöver.
Andra API:er är generella och erbjuder åtkomst till tjänster och datamängder som kan användas av en mängd andra system. Detta brukar kallas för ett öppet API. Att API:et är öppet betyder inte att alla har rätt att använda det eller komma åt all information i det, eller att det måste vara gratis att använda. Ett öppet API kan t.ex. ha en licens där man behöver teckna ett avtal med den som äger API:et och få en nyckel för att kunna anropa det. Ett öppet API betyder inte heller att informationen i det måste vara öppen - ett öppet API kan ha inloggning som gör att den som använder det bara kan hämta information och anropa funktioner som är knutna till en specifik användare.
Definitionen av öppna och stängda API:er är inte entydig, och vissa menar att ett öppet API innebär att det är öppet för alla att använda och enbart innehåller publik information. Det vi menar med öppet API i den här texten är dock ett API som är generellt och som är möjligt att använda utanför API:ets egen organisation, oavsett om det innehåller publik information, kostar pengar, kräver licensnycklar eller inloggning för åtkomst till användarinformation.
API:er kan vara stora och små, sammanslagna eller uppdelade. Här är några exempel på öppna API:er från myndigheter och företag:
Skatteverket har en mängd API:er både för att hämta statistik och för att genomföra olika ärenden som att ändra folkbokföringsadress och lämna in skattedeklarationer.
Flera kollektivtrafikbolag erbjuder tillsammans API:er via Trafiklab för hållplatser, tidtabeller, realtidsinformation och för att köpa biljetter.
Google har mängder av API:er, t.ex. Maps som gör att man kan använda Google Maps i sin egen webbtjänst.
Facebook har ett API som bland annat gör att man kan bygga in delning och skapande av inlägg från andra appar.
Bolagsverket har ett API för att registrera ändringar i bostadsrättsföreningars styrelser
Stripe har ett API för kortbetalningar som man kan använda när man bygger en webbshop.
Banker, vissa myndigheter (som centralbanker) och finansiella institut måste, enligt EU-direktivet PSD2, erbjuda API:er för konton, betalningar och transaktioner. Exempel:
Med ett API kan man koppla ihop ett system med ett annat. Det kan låta som något tekniskt och inte särskilt relevant för en vanlig användare. Men API:er är grunden för automatisering. Ett sätt att tänka på kraften i API:er är genom tänka på mashups - kombinationer av tjänster som redan finns.
Om Försäkringskassan och din kommuns skolförvaltning hade öppna API:er skulle man kunna bygga en app som samtidigt sjukanmäler ditt barn i skolan och anmäler VAB till Försäkringskassan i ett och samma moment, kanske via telefonens röstassistent. Varken Försäkringskassan eller kommunen skulle behöva leda ett sånt projekt eller ens vara inblandade utöver att godkänna användning av API:erna.
Mindre spektakulära tillämpningar som skulle vara omöjliga utan API:er är t.ex. automatisk avprickning av fakturabetalningar i bokföringsprogram, ehandel med frakt och spårning av paketleveranser, Swish och bokning av resor online. När man skrapar lite på ytan blir det snabbt nästan omöjligt att hitta digitala lösningar som inte använder ett API någonstans.
API:er är en förutsättning för att bygga digitala plattformar. I moderna organisationer vill man att de olika system och applikationer som man använder ska kopplas samman, både så att informationen kan delas mellan dem och så att man kan skapa mer komplexa digitala processer som kräver att funktioner i olika system anropas i rätt ordning. Om de olika delsystemen inte har API:er blir en sån sammankoppling både svår och instabil. När systemen är sammankopplade på rätt sätt kan du bygga ett eget API till din plattform där dina kunder, leverantörer, användare eller medborgare kan använda dina tjänster via olika appar och webbtjänster.
Samhället kan spara enorma resurser genom att system kan kommunicera med varandra och automatiskt låta data flöda istället för att gå via människor. Med öppna API:er kan dessutom invånare och företag hjälpa till att driva utvecklingen genom att skapa nya tjänster och automatiseringar. Man kan enkelt koppla samman tjänster från det offentliga med tjänster från näringslivet på ett sätt som t.ex. en myndighet skulle ha svårt att göra.
Inom det offentliga har t.ex. Helsingborg kommun och Sundsvall kommun har valt att tillämpa öppna principer på sin utveckling. Deras öppna API:er möjliggör maximering av medborgarnytta till minimal peng. Tyvärr är detta undantag - Sverige ligger sist i OECDs lista över digital mognad inom offentlig förvaltning. Om fler myndigheter och offentliga förvaltningar öppnade sina API:er skulle det snabbt kunna ändras.
Inom delar av näringslivet kan idén om ett API verka hotfullt. Vid första anblick verkar det lättare att behålla sina kunder om man kan se till att de måste använda ens tjänster via ens eget system och gränssnitt. I själva verket kan ett öppet API vara en automatisk säljkanal där andra aktörer kan hitta på nya applikationer som inkluderar dina tjänster utan att du behöver lyfta ett finger. Tack vare att Interflora hade ett API så kunde hitta.se skapa en knapp för att skicka blommor på födelsedagen till en person man sökt fram - Interflora fick nya beställningar, hitta.se en kickback på varje försäljning och användaren behövde inte fylla i adressen på beställningen.
I takt med kundernas digitaliseringsmognad så ökar också förväntningarna på att alla system ska kunna fungera som byggblock i en organisations digitala plattform. System utan ett API kan inte spela den rollen. Utan ett API kan plötsligt den som ville låsa in sina kunder istället själv bli utelåst, men med ett API kan man bli en ovärderlig kugge i de större hjul som utgörs av kundernas digitala plattformar.
Licens: CC-BY
2021-10-22
2021-06-16
2021-06-03
2021-05-18
2021-05-10
2020-10-01
2020-09-03
2021-10-22
Hur kan ett utvecklingsteam bli ett hockeylag. Lösningen stavas Team Flow. Men hur gör vi för att uppnå detta?
2021-08-05
Hållbarhet och digital innovation sitter lika naturligt ihop som Batman och Robin
2021-06-18
Location, location, location. Vad har Strindbergs hiss med huspriser att göra?
2021-06-16
De flesta vet vad BNP är men få vet vad ett API är. Båda är komplicerade frågor som hjälper att känna till om man ska förstå hur samhället utvecklas.
2021-06-10
Öppen källkod är mycket mer än bara gratis programvara. Det är en filosofi som rimmar väl med demokratins värderingar.
2021-06-09
Vi kombinerar det bästa från hemarbetet med en ny form av lokal
2021-06-03
Hur kommer framtidens transportsystem fungera? Kan AI hjälpa miljön?
2021-05-18
Predictive Movement är en samverkansplattform för att optimera transportsystemet. Denna veckan testar vi i Pajala.
2021-05-10
2021 är Iteam ett techbolag med lika många kvinnor som män. Det tål att uppmärksammas!
2021-03-10
Hur påverkar öppen källkod och öppen data arbetsmarknaden framöver?
2020-10-01
Developer Experience - hur skapar man lösningar som utvecklare ❤️ älskar?
2020-09-03
Hur skulle samhället förändras om vi kunde få drönarleveranser till varje stuga?