Man hører til stadighet om disse APIene.

Systemer bygges basert på dem, ulike løsninger integreres via dem og de kan brukes til å både hente og behandle data.

Men hva er det og hvordan brukes det?

Og bare for å ha nevnt det: jeg er langt fra en ekspert på APIer.

Men, jeg har viss forståelse og forhåpentligvis får jeg til å formidle det videre til andre uten master i programmering.

Jeg gir først generell introduksjon til hva APIer er og hva de brukes til, før jeg går gjennom steg for steg hvordan du kan hente data til Power BI ved hjelp av dem.

💡
Interessert i å teste en løsning hvor du ikke trenger noe kode for å koble Power BI til regnskapssystemet ditt? Sjekk ut tjenesten BIRÅ.

Hva er et API?

En typisk definisjon, som denne fra Tripletex, er noe sånn som at "API (Application programming interface) er et grensesnitt som lar to programvareløsninger kommunisere og utveksle data".

… og allerede der faller veldig mange av.

Jeg synes det er enklere å forstå det slik:

På samme måte som du kan sende en URL for å hente en nettside i nettleseren din, så kan du sende en URL for å hente eller behandle data.

Skriver du inn www.yr.no, så kommer du til en velkjent nettside.

Skriver du inn https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=68.08&lon=15.64 samme plass, så får du dataene for værvarselet for nydelige Oppeid i Hamarøy kommune.

Formatet er vanskelig å lese for et utrent øye, men du har det du trenger.

I eksempelet over brukte vi en standard nettleser, men tilsvarende URL kan selvfølgelig også sendes fra andre løsninger, som da eksempelvis Power BI.

Utviklere bak applikasjoner må riktignok sette opp APIene for at du skal kunne bruke dem, men for en bruker, så trenger ikke APIer være så komplisert.

Vi er vant med trafikkregler for hva skilt og ulik oppmerking i veibanen betyr. At dette (stort sett) følger en internasjonal standard gjør det veldig enkelt å forholde seg til på tvers av landegrenser.

APIer følger også (stort sett) noen ulike standarder for at det skal være enklere å håndtere dem på tvers av tekniske løsninger. En vanlig standard er REST. Da må utviklerne følge et gitt sett av regler for eksempelvis struktur i URLen og feilkoder.

Innenfor REST er de fire vanligste operasjonene:

  1. Get: Les data
  2. Post: Opprett data
  3. Put: Endre eksisterende data
  4. Delete: Slett data

Hvordan henter vi data for analyse i Power BI?

Det kan i noen tilfeller være hensiktsmessig å basere rapportering direkte på API-spørringer. I andre tilfeller bør man derimot vurdere andre løsninger, bare for å ha nevnt det også.

Jeg vil vise steg for steg for et API fra Tripletex, da dette er et regnskapssystem mange er kjent med og som har gode APIer. Det krever også (heldigvis..) autentisering, som er et steg hvor mange "ikke-tekniske personer" gjerne stopper opp.

💡
Interessert i å teste en løsning hvor du ikke trenger noe kode for å koble Power BI til regnskapssystemet ditt? Sjekk ut tjenesten BIRÅ.

Den samme prosessen skal derimot også fungere for det åpne APIet jeg brukte ovenfor.

Stegvis prosess:

1.     Opprett "brukernavn og passord"

Det er en liten prosess for å opprette den nødvendige koden for autentisering, og derfor stopper mange allerede her. Man trenger både:

ConsumerToken som er en kode som gis til godkjente integrasjonspartnere av Tripletex (kreves kun en enkel søknadsprosess, så det er helt oppnåelig)

EmployerToken som er en kode som opprettes inne i Tripletex-løsningen av administrator for selskapet man ønsker å hente data fra.

Så brukes disse to til å lage SessionToken under APIet "token/session" som du finner  godt stykke ned på denne siden hos Tripletex.

SessionToken brukes deretter som passord, mens «0» (null) er brukernavnet.

2.     Velg et API

Du finner alle tilgjengelige APIer her, men la oss bruke APIet «https://tripletex.no/v2/activity» i dette tilfellet. Da henter vi alle aktiviteter knyttet til selskapet.

Har du ikke autentisering kan du følge samme oppskrift med URL for værvarselet.

3.     Legg det inn i Web API

Under «Get Data», velg «Web» og legg inn URLen.

4.     Autentiser:

Velg Basic, 0 er brukernavn, SessionToken er passord

5.     Gjør om til data

  5.1.  Klikk på «List» for å se alle radene

  5.2.  Velg deretter «To table»

  5.3.  Velg deretter å ekspandere ut alle kolonnene

6. Og deretter kan du bygge rapporter som automatisk oppdateres og gir deg den informasjon du behøver til enhver tid.

Man får selvsagt ikke mye innsikt ut av «Aktiviteter» alene, men kombinerer man det med ansatte og timeføring, så har man veldig fort et interessant datagrunnlag for analyse.

Noen av API-spørringene krever at man definerer hvilke ansatte man ønsker å hente timer fra eksempelvis eller at man begrenser tidsperioden man spør etter for at det ikke tar for lang tid. Alt dette løses i Power BI og det skal være mulig å google seg frem til mye av løsningene her.

Har du noe du lurer på i forbindelse med denne prosessen? Ikke vær redd for å ta kontakt med meg på Linkedin eller eivind@austbo.as - jeg tar gjerne en prat.