Hoppa till innehåll

API (Application Programming Interface)

Ett bestämt sätt för program att be andra program om information eller tjänster, med regler för vad man får fråga och hur svaret ser ut.

Kallas även
programmeringsgränssnitt
Kategori
Programmering

Enkel förklaring

Ett API är som menyn och disken på en restaurang. Du behöver inte veta hur köket fungerar. Du beställer från menyn, och du vet vilken sorts svar du får. Köket kan byggas om helt, men så länge menyn är densamma fungerar beställningarna.

På samma sätt kan ett program be ett annat program om något, till exempel “ge mig listan över öppna ärenden”, utan att veta hur det andra programmet fungerar inuti.

Teknisk förklaring

API står för Application Programming Interface, programmeringsgränssnitt. Det är en uppsättning regler för hur ett program kan använda ett annat: vilka anrop som finns, vad de kräver och vad de returnerar.

Det vanligaste i dag är webb-API:er. Programmet skickar en fråga över HTTP, webbens protokoll, till en adress, och får svar i ett textformat, ofta JSON. Ett API kan kräva att anroparen visar att den har rätt att fråga, till exempel med en token (se OAuth 2.0).

API:er finns också inuti program och bibliotek, utan något nätverk alls.

Praktiskt exempel

Forgejo, tjänsten där Kodkollektivets kod lagras, har ett webb-API. Ett program kan till exempel be om listan över öppna pull requests i ett repository genom att skicka en fråga till en adress som slutar på:

/api/v1/repos/<ägare>/<repository>/pulls

Svaret kommer som JSON: en lista där varje pull request har bland annat nummer, titel och författare. Programmet kan sedan visa listan, räkna den eller skicka en påminnelse, utan att veta hur Forgejo lagrar uppgifterna inuti.

När och varför används det?

API:er används när program ska samarbeta: en app som hämtar väder, en webbplats som tar betalt via en betaltjänst eller ett skript som skapar konton automatiskt.

Fördelen är att programmen kan utvecklas var för sig. Så länge API:et är detsamma behöver det ena inte veta något om hur det andra är byggt.

Rekommendation: ge program som anropar ett API bara den behörighet de behöver, och förvara nycklar och tokens som hemligheter.

Vanliga missförstånd

  • “Ett API finns alltid på internet.” Nej. Webb-API:er är vanligast, men API:er finns också inuti program, utan nätverk.
  • “En API-nyckel är ett API.” Nej. Nyckeln är ett slags lösenord som ger rätt att använda API:et.
  • “API och webbplats är samma sak.” En webbplats är gjord för människor. Ett API är gjort för program, även om båda kan finnas på samma server.

Relaterade begrepp