Skip to content
olav edited this page Oct 29, 2011 · 12 revisions

API for mottakere (privatpersoner)

APIet for private mottakere er http-basert og bruker JSON til all kommunikasjon.

Autentisering

Autentisering gjøres med et enkelt POST-request, som inneholder fødselsnummer og passord for den aktuelle brukeren:

POST https://www.digipost.no/post/passordautentisering

PARAMS: foedselsnummer=1234567890&passord=FOOBAR

Denne gir tilbake en cookie som du må ta vare på i alle requestene.

Etter autentisering kan følgende GET request gjøres for å få brukerinformasjon og linker til tilgjengelige ressurser:

GET https://www.digipost.no/post/privat/konto

Eksempel i jQuery (dette må kjøres i konteksten av digipost.no, altså f.eks ved hjelp av Firebug når man står på www.digipost.no ):

$.ajax({
    type: "POST",
    url: "https://www.digipost.no/post/passordautentisering",

    data: {
        foedselsnummer: "1234567890", // Bytt
        passord: "1234567890"         // Bytt
    },

    success: function(res) { 
        console.log("autentisering OK");
        $.ajax({
            url: "https://www.digipost.no/post/privat/konto",
            success: function(res) { console.log("kontodata", res); },
            error: function(res) { console.log("error", res); }
        });
    },

    error: function(res) { 
        console.log("error", res); 
    }
});

Konto

Her er et eksempel på hva konto-ressursen returnerer:

{ "aktiv" : true,
  "aktiveringsstatusinnstillingerUri" : "https://www.digipost.no/post/privat/innstillinger/aktiveringsstatus/1337",
  "arkivUri" : "https://www.digipost.no/post/privat/konto/1337/arkiv",
  "autentiseringsnivaaUri" : "https://www.digipost.no/post/privat/autentiseringsnivaa",
  "avregistrerForEKvitteringUri" : "https://www.digipost.no/post/privat/innstillinger/ekvitteringavmelding/1337",
  "dechiffrerUriUri" : "https://www.digipost.no/post/privat/dechiffrerurl",
  "dokumentopplastingUri" : "https://www.digipost.no/post/privat/dokument",
  "ekvitteringUri" : "https://www.digipost.no/post/privat/ekvittering",
  "ekvitteringsbruker" : false,
  "features" : { "ekvittering" : false },
  "id" : 1337,
  "kjokkenbenkUri" : "https://www.digipost.no/post/privat/konto/1337/kjokkenbenk",
  "kontodetaljerUri" : "https://www.digipost.no/post/privat/kontodetaljer",
  "kortadministrasjonUri" : "https://www.digipost.no/post/privat/kortadministrasjon",
  "navn" : "Olav Frihagen Bjørkøy",
  "passordinnstillingerUri" : "https://www.digipost.no/post/privat/innstillinger/passord/1337",
  "postkasseUri" : "https://www.digipost.no/post/privat/konto/1337/postkasse",
  "registrerForEKvitteringUri" : "https://www.digipost.no/post/privat/konto/1337/registrerForEKvittering",
  "reservasjonsinnstillingerUri" : "https://www.digipost.no/post/privat/innstillinger/reservasjoner/1337",
  "settSisteSplashScreenUri" : "https://www.digipost.no/post/privat/splashscreen",
  "sisteSplashScreen" : "",
  "token" : "123456789009876543211234567890",
  "uri" : "https://www.digipost.no/post/privat/konto/1337",
  "varslingsinnstillingerUri" : "https://www.digipost.no/post/privat/innstillinger/varsling/1337"
}

Konto-ressursen gir deg alle linkene du trenger til videre operasjoner. I god stil trenger du altså ikke hard-code noen linker i din applikasjon, annet enn "https://digipost.no/privat/konto". :)

Et godt tips er å bruke et verktøy som Firebug på digipost.no for å se requestene som går frem og tilbake.

Token

Som vist ovenfor inneholder konto-ressursen et felt som heter "token". Dette feltet brukes til videre autentisering, og må være med i alle følgende POST requests (ikke GET). Husk at en session cookie man får ed login også må være satt.

Eksempel: Få tak i alle brev i postkassen.

Når man er logget inn og har fått tak i konto-ressursen, kan man for eksempel spørre etter alle brev i postkassen.

Brevene i postkassen fås ved et enkelt GET request.

GET https://www.digipost.no/post/privat/konto/1337/postkasse

Her er linken den man får som en del av konto-ressursen. Tallet tilsvarer bruker-IDen. Husk at den initsielle session cookie'en må være en del av requesten (satt som headeren "cookie" i requesten).