Ett REST-API är ett av de vanligaste sätten för olika system att kommunicera med varandra över webben. Det gör det möjligt för ett system att läsa, skapa, uppdatera eller ta bort information i ett annat system på ett strukturerat och kontrollerat sätt.
REST-API:er används i allt från webbplatser och appar till affärssystem, bokningslösningar och AI-tjänster. För många moderna integrationer är API:et själva länken som gör att systemen kan arbeta tillsammans.
Vad betyder REST?
REST står för Representational State Transfer. Det är ett arkitekturmönster för hur system kan kommunicera via HTTP, alltså samma protokoll som webbsidor använder.
I praktiken innebär det att ett system erbjuder ett antal tydliga adresser, så kallade endpoints, som andra system kan anropa.
Vad är en endpoint?
En endpoint är en specifik adress i API:et som representerar en viss typ av data eller funktion.
GET https://example.se/wp-json/wp/v2/postsI exemplet ovan hämtar anropet en lista med inlägg från WordPress REST API.
En annan endpoint kan till exempel användas för kunder, produkter, bokningar eller dokument.
De vanligaste HTTP-metoderna
Ett REST-API använder vanligtvis HTTP-metoder för att beskriva vad som ska hända med informationen.
- GET – hämtar information.
- POST – skapar ny information.
- PUT eller PATCH – uppdaterar befintlig information.
- DELETE – tar bort information.
Det gör API:et förutsägbart. Ett annat system behöver inte känna till hur databasen är byggd, utan behöver bara veta vilka endpoints som finns och hur de ska anropas.
Så kan två system kopplas ihop
Anta att ett företag har ett affärssystem med kundinformation och en webbplats där kunder kan logga in.
Webbplatsen kan då använda affärssystemets REST-API för att hämta aktuell kundinformation. När kunden loggar in skickar webbplatsen ett API-anrop, får tillbaka data och visar den på sidan.
Samma princip kan användas åt andra hållet. Om kunden ändrar sina kontaktuppgifter kan webbplatsen skicka uppdateringen tillbaka till affärssystemet via API:et.
Data skickas ofta som JSON
REST-API:er skickar ofta information i formatet JSON. Det är ett kompakt textformat som är enkelt för både människor och system att läsa.
{ "id": 42, "name": "Exempelföretaget AB", "email": "kontakt@example.se"}Det gör det enkelt att använda samma API från exempelvis WordPress, en mobilapp, ett JavaScript-gränssnitt eller ett externt affärssystem.
Autentisering och behörighet
Alla API:er är inte öppna. Tvärtom behöver de flesta integrationer någon form av autentisering.
Det kan exempelvis ske med:
- API-nycklar
- tokens
- OAuth 2.0
- inloggade användarsessioner
- Application Passwords i WordPress
Autentisering avgör vem som gör anropet, medan behörighetskontroller avgör vad den användaren eller integrationen faktiskt får göra.
REST-API i WordPress
WordPress har ett inbyggt REST-API. Det gör att webbplatsens innehåll kan användas av andra system utan att dessa behöver arbeta direkt mot WordPress databas.
Via API:et går det bland annat att hantera:
- inlägg och sidor
- kategorier och taggar
- media
- användare
- egna posttyper och anpassade endpoints
Det gör WordPress användbart även som en central innehållsplattform bakom exempelvis appar, intranät, kundportaler eller andra webbgränssnitt.
När passar ett REST-API bra?
REST-API:er passar särskilt bra när två eller flera system behöver utbyta information automatiskt.
- synkronisering mellan WordPress och ett CRM
- överföring av order till ett affärssystem
- hämtning av bokningar eller kalenderdata
- koppling mot externa databaser
- integration med AI-tjänster
- appar som använder samma innehåll som webbplatsen
API:er minskar behovet av manuellt arbete
En av de största vinsterna med integrationer är att samma information inte behöver hanteras manuellt på flera ställen.
I stället kan ett system vara master för informationen och låta andra system hämta eller uppdatera den via API. Det minskar dubbelarbete och risken för att olika system innehåller olika versioner av samma data.
Ett API är ett kontrakt mellan systemen
Det går att se ett REST-API som ett tydligt kontrakt mellan två system. API:et beskriver vilken information som går att hämta, hur den ska skickas och vilka regler som gäller.
När API:et är väl dokumenterat kan systemen utvecklas relativt oberoende av varandra. Det ena systemet behöver inte känna till den tekniska uppbyggnaden i det andra.
Det är en av anledningarna till att REST-API:er har blivit en så central del av modern webbutveckling och systemintegration.
