Lansering av API version 2.0

Nu lanserar vi version 2.0 av Trafikverkets Öppna API

Den nya versionen innehåller ny funktionalitet, nya och förändrade datamängder och en del andra förändringar.

Vid frågor eller rapportering av eventuella felaktigheter, var god kontakta oss via trafikinfotjanster@trafikverket.se

Länk till TrafikLabs webinar där nya versionen presenterades: TrafikLabs webinar


Ny funktionalitet


  • Streaming
    • Konsumenter av APIet kan nu få förändrat data "pushat" till sig.
      Det går till så att klienten skickar in en fråga på vanligt vis. I svaret finns, förutom efterfrågat data, en dynamisk endpoint innehållande en dataström på vilken förändringar i datamängden, utifrån ställd fråga, pushas till klienten allt eftersom data förändras.
      Tekniken som används för den dynamiska endpointen är Server-Sent Events, SSE, som skickas över vanlig http.

  • Function
    • I APIet har införts ett funktionsbibliotek innehållande ett antal fördefinierade funktioner som kan vara användbart då man skall göra beräkningar på informationsobjekt i APIet.
      Läs mer här: Om frågan

    Nya datamängder

    Läs i detalj om de nya datamängderna här: Datamodell

    Väg - Trafikinformation


  • TrafficFlow – Trafikflöde i form av antal fordon och hastighet vid en given mätpunkt i större städer.
  • TravelTimeRoute – Aktuella och statistiska restider på bestämda rutter i större städer.
  • Väg - Beläggningsdata (fem olika datamängder)


  • PavementData – Vägbeläggningsdata kombinerat med vägdata.
  • RoadData – Vägdata kopplad till beläggningsdata vid en given mättidpunkt.
  • RoadGeometry – Väggeometrier kopplad till beläggningsdata vid en given mättidpunkt.
  • MeasurementData20 – Mätdata per 20 meter från vägytesmätning.
  • MeasurementData100 – Mätdata per 100 meter från vägytesmätning.

  • Förändrade datamängder

    TrainAnnouncement

    Schemaversion 1.4

  • Operator - string - Det järnvägsföretag som utför järnvägstrafik, alltså kör tåget, för en trafikorganisatör.
  • TechnicalDateTime - dateTime Teknisk tid
  • TimeAtLocationWithSeconds - dateTime När tåget har ankommit eller avgått, med sekunder
  • TrainOwner - string Ägaren av det aktuella tågläget

    TrainMessage

    Schemaversion 1.4

  • ExpectTrafficImpact - boolean - Händelse kommer förmodligen att påverka trafiken, men trafikpåverkan och prognostiserad sluttidpunkt för trafikpåverkan är ännu inte specificerad.
  • PrognosticatedEndDateTimeTrafficImpact - dateTime - Prognos för då händelsen inte längre väntas påverka trafiken

    Andra förändringar

    Allmänt

  • From version 2.0 stöds anrop endast via https – Http fungerar dock för äldre versioner.
  • From 2020-01-01 är endast API-version 2.0 och senare tillgängliga – Version 1.# fungerar tom 2019-12-31.
  • Det går nu att skilja på API-version och Schema-version – Schemaversion är numera obligatorisk i QUERY-elementet. API-version anges i url'en
  • Förändrat data

  • Nytt attribut, ChangeID – unikt löpnummer för alla dataposter. Används för deltahämtning. Mer info här
  • Frågan

  • Nytt obligatoriskt attribut på query-elementet, schemaversion, som anger objekttypens version
  • Hårdare validering av frågan – Felaktiga fält i frågan kommer returnera felmeddelanden.
  • Headern "Content-Type" är obligatorisk
  • Stöd för simple request – ingen CORS preflight. (Ytterligare information finns här)
  • Nya operatorer: Not, Near, Intersects
  • Operatorer med value ="" tillåts inte
  • Svaret

  • DateTime returneras med millisekunder
  • Json responsen serialiseras inte med @ som prefix för attribut - Isället används attr som prefix. Detta gäller om man angett id eller lastmodified i QUERY-elementet.
  • Stöd för funktioner
  • Buggfixar

  • Buggfix när man ställer fråga med $dateadd på ModifiedTime – Nu används korrekt tidsson (UTC).
  • Limit=0 returnerar nu inga dataposter