Continuation token

Noen endepunkt i REST APIet til Altinn tilbyr bruk av continuation token. Denne siden beskriver hvordan man kan bruke continuation token i Altinn.

Hvordan bruke continuation token i Altinn

Et continuation token er argumentet som brukes på continuation parameteret. Det peker på det siste elementet i listen som ble returnert. Ved oppgi dette ved neste kall ber man om at listen starter fra (og ikke inkluderer) det elementet som continuation tokenet representerer.

Formatet på continuation tokenet er både menneskelig- og maskinlesbart. Det består av tidspunktet for siste endring for et element LastChanged, og en intern index. Det nøyaktige formatet er {LastChanged timestamp}_{id}, hvor {LastChanged timestamp} har formatet yyyy'-'MM'-'dd'T'HH':'mm':'ss.fff Eksempel på continuation token: 2020-02-01T08:30:39:148_1054

Det er veldig mange som ønsker informasjon som ligger i Altinn og av ytelseshensyn er det derfor anbefalt å bruke continuation parameteret ved gjentatte kall til enkelte endepunkt. Vår anbefalte arbeidsflyt er:

  • Ved det første kallet til endepunktet trenger man ikke benytte continuation parameteret. Da vil man få returnert en liste med elementer. Hvis listen inneholder minst ett element så vil man også få et continuation token returnert sammen med listen.
  • Ved senere kall til endepunktet hvor de andre parametrene er uforandret bør man benytte continuation tokenet man fikk ved forrige kall som argument for continuation parameteret. Da vil kun nye elementer og elementer som har blitt endret siden sist kall, bli inkludert i listen.

For å finne ut om et endepunkt tilbyr bruk av continuation token, se detaljert dokumentasjon for endepunktet på altinn.no/api/serviceowner/Help

Paginering med OData og continuation token

REST-endepunktene som tilbyr continuation token bør ikke pagineres med OData parameteret $skip. Hvis et element som allerede har blitt returnert blir oppdatert mens man paginering, så vil dette elementet bli flyttet til enden av listen. Alle elementer som var plassert etter dette vil nå komme en plass tidligere i listen. Dette fører til at det første elementet på den neste siden havner på den siste plassen i siden som allerede har blitt returnert, og man vil ikke få returnert dette elementet.

Man kan fortsatt bruke $top for begrense lengden på listen. $top kan også brukes sammen med continuation token.