Vad är ett API?
Du har kanske hört om API:er hit och dit och vet kanske till och med att det står för Application Programming Interface. Men vad betyder det och hur fungerar det och varför är det bra att känna till i samband med webbutveckling? Lugn, vi ska förklara det så enkelt och bra vi kan.
Det enklaste sättet att beskriva ett API på är att det är ett gränssnitt som utvecklare kan programmera mot. Det används för att olika program och applikationer ska kunna kommunicera med varandra och kan t ex användas för att hämta och uppdatera information mellan olika system. Om man vill tänka i bilder kan vi säga att det är som en kontakt från ett system som man sedan kan koppla mot kontakt i andra änden till ett annat system och genom sladden kan man skicka frågor och data, antingen direkt vid en fråga (när man klickar på kontaktbrytaren) eller med bestämda intervaller (som en timer).
När används API:er?
Tja, idag är det nästan svårt att hitta ett exempel som INTE använder API:er i någon form. Ett API möjliggör som sagt kommunikation mellan programvara och system och används ofta för att knyta ihop olika system och att effektivisera flöden. Man ska alltid utgå från att hantera data och information på ett så säkert och effektivt sätt som möjligt - i stället för att till exempel ha sin kunddata i flera olika system är det en bättre idé att låta systemen prata med varandra. En webbshop kan exempelvis skicka och ta emot information om produkter, lagersaldon, kunddata, prisdata och order till och från externa system som affärssystem, produktdatabas, lagersystem, distributörer, CRM, nyhetsmailverktyg och marketing system etc.
Ett annat exempel är sociala medier-appar som använder API:er som gör det möjligt att visa och publicera inlägg från deras mobilappar. När du uppdaterar flödet i din mobil gör appen en API-förfrågan om att hämta alla inlägg. När du gillar ett inlägg gör appen en API-förfrågan om att publicera datan.
Vad är stängda och öppna API:er?
Ett API kan vara öppet eller stängt. Ett öppet API låter vem som helst använda sin data eller delar av sin data men det betyder inte alltid att den delas gratis eller utan kontroll. Ett öppet API kan till exempel vara ett bussbolag eller ett flygbolag som låter andra appar använda exempelvis tidtabeller och reseinformation.
Ett stängt API hanterar data inom en intern organisation eller mellan en eller flera utvalda parter. Exempel på ett stängt API är ett kassasystem eller ett vårdsystem som används inom en speciell verksamhet.
Många tjänster har öppna och offentliga API:er som gör det möjligt för vem som helst att ta emot innehåll från tjänsten, till exempel Sveriges Radio, Trafikverket, - eller Google som låter oss använda deras kartor. Man kan använda flera API:er med varandra för att bygga upp egna tjänster. Varför inte göra en webbsajt som visar var radioprogrammen sänds på en karta och även hur du tar dig dit med kollektivtrafiken i god tid (nu var vi lite ironiska kanske)?
Hur vet man om det finns ett API för det man vill göra?
Man tar reda på det genom att fråga den part man vill hämta data från. Om det finns ett API bör det också finnas en API dokumentation. Den bör vara väldokumenterad och uppdaterad och bör utgå från applikationens resurser och vilka operationer som går att utföra mot dessa (en sorts bruksanvisning för hur det kan användas).
Vad gör man om det inte finns ett API för det man vill göra?
Då kan man utveckla ett eget API. Tänk igenom vad som ska finnas och vem som ska använda det och välj rätt teknik utifrån det. Skriv både anrop och dokumentation på engelska - och ta för allt i världen fram en bra dokumentation, gärna med exempelkod och exempel på de svar man får tillbaka. Sånt blir alltid vi extra glada för.
Borde vi utveckla ett eget API?
Beroende på vilka tjänster och vilken information ni har kan det vara ett bra sätt att öppna för nya samarbetspartners. Ett bra exempel på detta är fastighetsmäklare som tidigt började använda system med API som gör att Hemnet och andra aktörer kan visa en samlad och komplett lista över lediga bostäder som varje mäklare sitter på. Om du har information som du tror att fler skulle ha nytta av att använda kan det vara en god idé att bygga ett API och öppna för nya affärsmöjligheter.
Lite mer teknisk information
Vi måste få slänga in några extra tekniska termer också, vi är ju en webbyrå med ett gäng utvecklare.
Ett webb-API är ett API som används via ett webbprotokoll (http/https). JSON och XML är vanliga dataformat som används av många webbtjänster för att returnera ett svar.
SOAP (Simple Object Access Protocol) och REST (Representational State Transfer) eller RESTful Web Services är metoder för att bygga en webbtjänst (web service) som använder APIet.
Finns det andra sätt att integrera data?
När man pratar om integrationer så betyder det oftast att man använder API.er. Det finns också andra sätt att visa data från andra system, till exempel med iframes och att bädda in kod med information från andra parter (exempelvis Youtubefilmer bäddar man ofta in) eller med olika widgets och JS loader lösningar och data block. Men då får man det man får och kan inte "göra något" med datan.
© 040 2024
Relaterade artiklar:
Vad är skillnaden mellan UX,UI och CX?
UI, UX och CX är alla vanliga begrepp inom webbutveckling idag. Men vad betyder de, vad är det för skillnad mellan dem och hur hör de ihop?
Visst kan man göra vad som helst med färdiga kartlösningar?
Det enkla svaret är, typ ja. Det finns många karttjänster, alla med olika begränsningar och möjligheter. Vilket som passar bäst beror på vad man vill uppnå. Men det är väldigt roligt med kartor tycker vi.
Vad ska man tänka på vad gäller GDPR för sin webbsajt?
Om din sajt inte samlar in några personuppgifter behöver du inte tänka på något alls, men de fallen är sällsynta. Minsta lilla formulärsfält, registrering till nyhetsmail eller mätning av besöksstatistik så måste du utgå från GDPR och hantera det i din GDPR policy.