Integrationer & API

Vad är ett REST-API och hur fungerar det?

Ett REST-API låter olika system kommunicera med varandra på ett strukturerat sätt. Här går vi igenom endpoints, HTTP-metoder, JSON, autentisering och hur REST-API används i WordPress och andra integrationer.

Ett REST-API är ett av de vanligaste sätten för olika system att kommunicera med varandra över webb­en. 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 webb­platser 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 system­en 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 webb­sidor 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/posts

I 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, produkt­er, 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örut­sä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 webb­plats där kunder kan logga in.

Webb­platsen kan då använda affärssystemets REST-API för att hämta aktuell kundinformation. När kunden loggar in skickar webb­platsen 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 kontakt­uppgifter kan webb­platsen 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ändar­sessioner
  • Application Passwords i WordPress

Autentisering avgör vem som gör anropet, medan behörighets­kontroller avgör vad den användar­en eller integrationen faktiskt får göra.

REST-API i WordPress

WordPress har ett inbyggt REST-API. Det gör att webb­platsens 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ändar­e
  • egna posttyper och anpassade endpoints

Det gör WordPress användbart även som en central innehålls­plattform bakom exempelvis appar, intranät, kundportaler eller andra webb­grä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 automat­iskt.

  • 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 webb­platsen

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 dubbel­arbete och risken för att olika system innehåller olika versioner av samma data.

Ett API är ett kontrakt mellan system­en

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 dokument­erat kan system­en utvecklas relativt oberoende av varandra. Det ena system­et 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 webb­utveckling och system­integration.