Ett API (Application Programming Interface) är en uppsättning regler som gör att en mjukvara kan kommunicera med en annan. Tänk på det som en meny: din app kan "beställa" data eller åtgärder, och API:et talar om för köket (en tjänst) exakt vad som ska tillagas och hur det ska serveras.
API:er standardiserar hur förfrågningar görs och hur svar returneras, så att olika system kan samverka på ett tillförlitligt sätt även om de har utvecklats av olika team, företag eller i olika programmeringsspråk.
På en grundläggande nivå definierar ett API slutpunkter (adresser du kan anropa), de metoder du kan använda (som GET för att hämta data eller POST för att skicka data), formatet på det du skickar (ofta JSON) och vad du kan förvänta dig tillbaka (data plus en statuskod som 200 för ”OK” eller 404 för ”Hittades inte”). Denna förutsägbarhet är hela poängen.
Om du vill vara exakt kan du använda ett API utan ett SDK, men att använda ett SDK kan spara tid och minska risken för misstag.
Ja, flera stilar, var och en med sina för- och nackdelar:
Vanligtvis, ja. Istället för att bygga allt själv kan du med hjälp av API:er koppla in betalningar, kartor, e-post, sökfunktioner, analyser, AI och mycket mer. Det sparar tid för teknikerna, förbättrar tillförlitligheten (leverantören håller sin tjänst uppdaterad) och låter ditt team fokusera på det som gör din produkt unik.
Nackdelarna: du ärver hastighetsbegränsningar, prissättning och drifttidsberoenden från din leverantör. Om din produkt inte kan fungera utan det API:et, planera för redundans.
Ofta. Många API:er kräver autentisering så att leverantören vet vem du är och kan tillämpa behörigheter och hastighetsbegränsningar. Vanliga metoder är:
Håll nycklar och tokens borta från offentliga repositorier och klientkod när det är möjligt.
Inte direkt. En webbläsare, curl eller vilken HTTP-klient som helst fungerar för många API:er. Utvecklare använder ofta verktyg som Postman eller inbyggda språkbibliotek för att göra förfrågningar, granska svar och spara exempel. För produktionsappar använder du ditt språks HTTP-bibliotek eller leverantörens SDK.
I stort sett allt som är modernt: mobilappar som hämtar profiler, "Logga in med Google/Apple", onlinebutiker som hanterar betalningar, synkronisering av smarta hem-enheter, instrumentpaneler som hämtar analyser, till och med din väderwidget. Om programvara utbyter data finns det troligen ett API under huven.