En API (Application Programming Interface) er en grænseflade, der lader to systemer udveksle data og funktionalitet automatisk. Det er teknologien, der forbinder apps, hjemmesider og tjenester med hinanden – f.eks. når en webshop henter betalinger fra MobilePay eller viser et kort fra Google Maps.
API står for Application Programming Interface. På dansk kan det oversættes til en programmeringsgrænseflade: en fast aftale om, hvordan ét program kan bede et andet program om data eller om at udføre en handling. Ordet “interface” er nøglen – en API er det punkt, hvor to systemer mødes.
En API er altså en veldefineret grænseflade, der gør det muligt for to systemer at udveksle information på en standardiseret måde. Kort sagt er en API et system, der kan modtage og udlevere data via såkaldte endpoints, som udviklere kan benytte gennem API-kald.
Man kan sammenligne et endpoint med en blanket: Når du udfylder blanketten (et API-kald) og afleverer den, verificerer API’en informationerne og giver et svar tilbage. Hvis alt er korrekt, modtager du enten de ønskede data eller en bekræftelse på, at handlingen er udført.
For udviklere gør API’er livet meget lettere, fordi de skaber en klar ramme for at forbinde forskellige systemer. Det betyder, at man kan spare mange arbejdstimer på integrationer og i stedet bygge videre på eksisterende funktionalitet.
Men styrken ved API’er ligger ikke kun i det tekniske. De har også stor økonomisk og strategisk værdi. Virksomheder kan åbne deres API’er og dermed give andre mulighed for at integrere eller udvide funktionaliteten i deres produkter og tjenester.
Den klassiske forklaring er en restaurant. Du (appen) sidder ved bordet, køkkenet (systemet med data) laver maden, og tjeneren (API’en) tager imod din bestilling, bringer den ud i køkkenet og kommer tilbage med retten. Du behøver ikke vide, hvordan køkkenet arbejder – du skal bare bestille fra menuen.
Når du betaler med Dankort eller MobilePay i en webshop, sender webshoppen beløb og ordrenummer til betalingsudbyderen via en API. Betalingsudbyderen svarer tilbage, om betalingen er godkendt, og først derefter bliver ordren bekræftet.
Mange virksomheder kobler deres webshop eller booking-system sammen med regnskabsprogrammer som e-conomic eller Dinero via deres API’er. Så bliver fakturaer og kunder oprettet automatisk i bogføringen, uden at nogen skal taste dem ind.
Et indlejret Google Maps-kort på en kontaktside henter kortdata via Googles API. Hjemmesiden siger “vis denne adresse”, og API’en leverer kortet.
Der findes flere forskellige typer API’er, som hver især har sine styrker og typiske anvendelsesområder.
REST er den mest anvendte form for API i dag. Den bygger på HTTP-protokollen og gør brug af metoder som GET, POST, PUT og DELETE. Data udveksles typisk i JSON eller XML. REST er populært, fordi det er enkelt, skalerbart og hurtigt at integrere.
SOAP er en ældre standard, som hovedsageligt bruger XML. SOAP er mere kompleks end REST, men giver stærk support for transaktioner, sikkerhed og pålidelighed. Bruges ofte i bank- og finanssektoren.
GraphQL er en nyere teknologi udviklet af Facebook. Man kan forespørge præcis de data, man har brug for — hverken mere eller mindre. Det gør API’et fleksibelt og effektivt, især med komplekse datamodeller.
Sådan kan et helt almindeligt kald til en REST API se ud. Her beder et system en webshop om en liste over produkter:
HTTP-metoden. GET betyder “hent data”. POST opretter, PUT/PATCH opdaterer, og DELETE sletter.
Endpointet – adressen på det, du vil have fat i. v1 er versionen af API’en, så den kan ændres senere uden at gamle integrationer går i stykker.
En header med din API-nøgle eller dit token, så API’en ved, hvem der spørger, og om du har lov.
Statuskoden. 200 betyder, at alt gik godt. 401 betyder, at du ikke er logget ind, 404 at det ikke findes, og 500 at der er sket en fejl på serveren.
Selve svaret i JSON-format: en liste med produkter, som det kaldende system kan vise eller gemme.
API’er bruges i dag i næsten alle digitale systemer, hvor data skal deles eller funktionalitet skal integreres på tværs af platforme.
API’er gør det muligt at integrere betalingsløsninger som Stripe, QuickPay eller MobilePay direkte i webshops og apps, så transaktioner kan gennemføres automatisk og sikkert.
Tjenester som Google Maps eller OpenStreetMap tilbyder API’er, som giver mulighed for at vise kort, beregne ruter eller hente geografiske data.
Platforme som Facebook, Instagram og LinkedIn stiller API’er til rådighed, så apps kan hente indhold, poste opslag eller analysere engagement.
Virksomheder kan bruge API’er til at hente realtidsdata om vejr, aktiekurser, transport eller andre eksterne kilder direkte ind i egne systemer.
API’er gør det muligt for forskellige systemer i en virksomhed at “snakke sammen”, f.eks. mellem CRM, regnskabsprogrammer og lagerstyring. Det er den type opgaver, vi løser med API udvikling og integrationer.
Når systemer kommunikerer via API’er, er sikkerhed afgørende. Uden de rette sikkerhedsforanstaltninger kan uvedkommende få adgang til følsomme data eller misbruge funktionalitet.
Sørger for, at kun autoriserede brugere eller systemer kan få adgang til API’en. Typiske metoder er API-nøgler, OAuth 2.0 eller JWT (JSON Web Tokens).
Al kommunikation bør foregå over HTTPS, så data ikke kan opsnappes eller ændres undervejs.
API’er kan begrænse, hvem der må læse, skrive eller slette data, så forskellige brugere kun får adgang til det, de har ret til.
Begrænser, hvor mange forespørgsler en bruger kan sende inden for et givent tidsrum, hvilket beskytter mod overbelastning og misbrug.
API’en bør altid kontrollere og rense de data, der modtages, for at undgå sikkerhedsrisici som SQL-injektion eller XSS-angreb.
En API-nøgle er en lang, unik kode, der fungerer som et adgangskort til en API. Den sendes med i hvert kald, så API’en ved, hvilket system eller hvilken kunde der spørger – og kan afvise alle andre. Du får typisk en API-nøgle ved at oprette en konto hos udbyderen, f.eks. en betalingsudbyder eller et regnskabsprogram.
Udbyderen bruger nøglen til at styre, hvad du må (f.eks. kun læse data), tælle hvor mange kald du laver, og eventuelt afregne efter forbrug. Derfor skal en API-nøgle behandles som en adgangskode:
De to ord bliver ofte brugt i flæng, men de dækker over to forskellige ting.
En API er den grænseflade, et system stiller til rådighed. Den beskriver, hvilke data du kan hente og sende, og hvordan. Udbyderen bygger og vedligeholder API’en.
En integration er den kode, der bruger en eller flere API’er til at få to systemer til at arbejde sammen – f.eks. så ordrer fra webshoppen automatisk havner i regnskabsprogrammet.
Har dine systemer en API, men ingen forbindelse til hinanden? Så er det en integration, du mangler. Se hvordan vi bygger integrationer og API’er.
Med vores kompetencer og erfaringer indenfor webudvikling har vi integreret rigtig mange forskellige API’er gennem tidens løb. Vi har stor erfaring med integrationen af f.eks. Quickpay, Safeticket, Stripe mm. Skal du have bygget en integration eller din egen API, kan du læse mere om vores API-udvikling.
Skulle det sjældne tilfælde opstå, at vi skal udvikle op imod en API, som vi ikke har arbejdet med før, så frygt ikke — vi har masser erfaring at drage nytte af. Vi har stor erfaring med at bygge egne API’er og API-integrationer i Laravel.
API er en forkortelse for Application Programming Interface – på dansk en programmeringsgrænseflade. Det er en fast aftale om, hvordan ét program kan hente data fra eller sende data til et andet program.
En API (Application Programming Interface) er en grænseflade, der lader to systemer udveksle data og funktionalitet med hinanden via faste regler, kaldet endpoints. Du kan tænke på det som en blanket: du sender en forespørgsel, og API'en svarer med data eller en bekræftelse.
Et website er bygget til mennesker og viser indhold visuelt i en browser. En API er bygget til andre systemer og programmer, og leverer rene data – typisk i JSON-format – uden noget visuelt design.
Så snart to systemer skal dele data automatisk – f.eks. en webshop, der skal tale med et lager- eller bogføringssystem, eller en app, der skal hente betalingsdata fra Stripe eller MobilePay.
Det afhænger af, hvor mange systemer der skal kobles sammen, og hvor godt deres API'er er dokumenteret. En enkel integration kan klares på få timer, mens en egen API med flere systemer er et større projekt. Læs mere om vores API udvikling og priser.
Ikke helt. En API er selve grænsefladen, som gør dataudveksling muligt. En integration er det konkrete stykke kode, vi bygger, som bruger en eller flere API'er til at forbinde to systemer i praksis.
Det kommer an på udbyderen. Mange API'er er gratis at bruge op til et vist antal kald, nogle kræver et abonnement på selve produktet, og andre afregner pr. kald. Tjek altid udbyderens prisside og vilkår, før du bygger en integration.
Har du brug for en API-integration eller vil du vide mere om, hvad en API kan gøre for din virksomhed? Vi står klar til at hjælpe.