Webbtjänst för åtkomst av det kommunala bolaget Dukatens parkeringsdata

Relevanta dokument
Öppna data Gäs öreläsning i kursen 729G44 - Gränssni sdesign Eva Blomqvist Linköpings Universitet eva.blomqvist@liu.

729G74 - IT och programmering, grundkurs. Dugga.

Extern dialog för Samtycke och vårdrelation. Säkerhetstjänster

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

GATEWAY TJÄNSTEBESKRIVNING. Webbservice. WSDL-fil. Skicka meddelanden. SMS och FastnätsSMS

TDDE44 Programmering, grundkurs

RDT Externt Webbtjänst Gränssnitt

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Tentamen, EDA501 Programmering M L TM W K V

LabPortalen Services 2.11

RDT Externt Webbtjänst Gränssnitt

Generiska konstruktioner. Kursbokens kapitel 13

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Konvertering från sträng. Winstrand Development

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Programmering II (ID1019) :00-12:00

729G04 Programmering och diskret matematik

Utkast/Version (8) Användarhandledning - inrapportering maskin-till-maskin

Tentamen i Introduktion till programmering

Tentamen TEN1 HI

Leverans-API för nedladdning av geodata v1.0 - teknisk beskrivning

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Vitec Connect. Teknisk beskrivning REVIDERAT SENAST: VITEC. VITEC Affärsområde Mäklare

Övningsuppgifter kapitel 8

InTime HTTP API. Översikt funktioner. Webbtjänster för systemintegration med InTime Messenger.

API Notera HTTPS POST msg UTF-8. API_key JSON Mobilnummer format 1. Skicka ett SMS till specifikt nummer POST parametrar: from msg API_key Exempel:

REST API Generellt https POST UTF-8 API_key JSON

Övning. Introduktion och förberedelser

Användarhandledning Version 1.2

eremiss 3.20 Webservices integration

eremiss 3.23 Webservices integration

Klasser och objekt, referenser Grundkurs i programmering med Python

Programmeringsteknik med C och Matlab

LEFI Online, system till system (Leverera Förmånsinformation) WEBBSERVICE/SHS/SSEK

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Tentamen ges för: Tentamensdatum: Tid:

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Dokumentation. Ver Sida 1

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

TDIU01 - Programmering i C++, grundkurs

* Skatteverket. Beskattningsuppgifter. Förfrågan och svar. IT-avdelningen. Kravspecifikation 1.0

Text och strängindexerade fält Grundkurs i programmering med Python

Föreläsning 3-4 Innehåll

REGISTRERINGSNUMMER nyckeln till en bilistvänlig och effektiv parkering. Bengt Benson, Modul-System Sweden AB

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

ID1004 Laboration 4, November 2012

TDDC77 Objektorienterad Programmering

INFORMATION FRÅN VITEC. Objektlista XML

Uppgifter till praktiska tentan, del A. (7 / 27)

kl Tentaupplägg

Telefonparkering - var står vi idag?

Kryptering. Krypteringsmetoder

729G04 Programmering och diskret matematik

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Introduktion till programmering D0009E. Föreläsning 9: Tupler och dictionaries

Metoder. Inledande programmering med C# (1DV402)

Dokumentation. Ver Sida 1

SI-möte #10, Programkonstruktion och Datastrukturer

Övningsuppgift. En array baklänges. Steg 1. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Marknadskoordinator Stefan Hugosson

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Programmering II (ID1019) :00-17:00

Sändning av uppgifter Scheman Meddelanden Anläggningsprojekt för ett nationellt inkomstregister

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Förslag till nytt skyltprogram för Stockholm Parkering

Metoder (funktioner) Murach s: kap Winstrand Development

Protokollbeskrivning av OKI

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Objektorienterad programmering i Java I

Malmö högskola 2008/2009 CTS

Uppgift 1 ( Betyg 3 uppgift )

Språket Python - Del 1 Grundkurs i programmering med Python

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Tentamen TEN1 HI

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

LabPortalen Services 2.14

Planering Programmering grundkurs HI1024 HT TIDAA

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Uppgift 1 (grundläggande konstruktioner)

Tjänstegränssnitt Api Platsannons

Planering Programmering grundkurs HI1024 HT data

Systemutvecklare SU13, Malmö

Husets energianvändning

Grundläggande Datalogi

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Programmering för språkteknologer II, HT2011. Rum

Skicka och hämta filer med automatik

TDP002 - Imperativ programmering

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

HI1024 Programmering, grundkurs TEN

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Transkript:

1 av 8 Webbtjänst för åtkomst av det kommunala bolaget Dukatens parkeringsdata

2 av 8 Innehåll 1. Inledning...3 2. Teknik...3 3. Webbtjänstens systemgränssnitt...3 3.1 GetParkeringsytaByID...3 URL...3 Inparametrar...3 Returnerad data...3 Exempelanrop...5 Exempel på JSON-svar...5 3.2 GetParkeringsytaList...5 URL...5 Inparametrar...6 Returnerad data...6 Exempelanrop...6 Exempel på JSON-svar...6 3.3 GetSenasteVersion...7 URL...7 Inparametrar...7 Returnerad data...8 Exempelanrop...8 Exempel på JSON-svar...8 2

3 av 8 1. Inledning Detta dokument beskriver hur man använder Linköping kommuns webbtjänst för åtkomst av det kommunala bolaget Dukatens parkeringsdata. 2. Teknik Webbtjänsten är en rest-tjänst, vilket innebär att den har ett REST-gränssnitt. Information som returneras av webbtjänsten är i JSON-format. 3. Webbtjänstens systemgränssnitt Följande avsnitt beskriver webbtjänstens systemgränssnitt, d.v.s. vilka anrop som kan göras. För respektive anrop listas anropets URL, inparametar, exempelanrop och strukturen på den data som returneras. Datan som returneras är i JSON-format och är i de flesta fall uppbyggd i form av namn/värde-par. Namn/värde-par exkluderas från resultatet (returdatan), om värdet är det samma som defaultvärdet för datatypen. Ett exempel på detta är namn/värde-paret Visible, som är av datatypen Bool och som används för att beskriva om en parkeringsyta är synlig eller inte. Default-värdet för datatypen Bool är false och om värdet på Visible för en specifik parkeringsyta är just false, så innebär det att namn/värde-paret exkluderas från returdatan. Det är med andra ord underförstått att Visible är false. Anledningen till att man exkluderar namn/värde-par från JSON-resultatet är av prestandaskäl. För att kunna utnyttja tjänsten krävs att man registrerar sig och därigenom får en nyckel. Nyckeln skall sedan användas som första parameter i anropen. Registrering görs på http://opendata.linkoping.se/, välj tjänst Parkering. 3.1 GetParkeringsytaByID Hämtar information för en specifik parkeringsyta. URL http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getparkeringsytabyid/nyckel/obje ktid Inparametrar Parameter Typ Förklaring Obligatoriskt Exempel Nyckel Sträng Nyckel som erhålls vid registrering. Ja Abc123 objektid Sträng ID för den parkeringsyta som informations ska hämtas om. Ja 29_1 Returnerad data Datan som returneras är ett JSON-objekt med information om parkeringsytan. Tabellen nedan beskriver betydelsen av respektive namn/värde-par. 3

4 av 8 Namn Typ Förklaring Exempel Id Sträng Parkeringsytans ID 29_1 Name Sträng Namnet på parkeringsytan Detektiven Latitude Flyttal Latitud-position för parkeringsytan 58.4086 Longitude Flyttal Longitud-position för 15.6276 parkeringsytan ParkingSpaces Heltal Antal parkeringsplatser 352 ParkingSpacesAvailable Heltal Antal lediga parkeringsplatser 115 TicketMachines Heltal Antal parkeringsautomater 3 PaymentTypes Lista Betalningstyper: mynt, visa, mobil [1,2,3,4,5,6,7,8,100] m.m. 1 = Mynt 2 = Visa 3 = MasterCard 4 = American Express 5 = OKQ8 6 = Statoil 7 = Shell 8 = Norsk Hydro 10 = Preem 11 = Fordonsgas 12 = St1 13 = Volvokort 100 = TeleP 101 = EasyPark 102 = Mobil ChargeDescription Sträng Taxabeskrivning 00-24 alla dagar. 12 kr\/tim 08-22 därefter 1kr\/tim 22-08. Max Availability Heltal Tillgänglighetsgrad av parkeringsplatser för parkeringsytan. 1 = Uppgift om lediga platser saknas 2 = Lediga platser finns 3 = Få antal lediga platser 4 = Alla platser är upptagna ParkingTypes Lista Parkeringsplatstyper 1 = Avgiftplats 2 = Förhyrd 3 = El 4 = Handikapp 5 = MC 6 = Buss 7 = Övrig 80 kr\/dygn. 1 [1] 4

5 av 8 ParkingAreaTypes Lista Typ av parkeringsområde 1 = Gata (avgift) 2 = Yta (mark eller p-hus) 3 = Tidsbegränsad (fri parkering) Visible Bool Om parkeringsytan ska vara synlig eller inte. [2] true Exempelanrop Hämta information om parkeringsytan med id 29_1: http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getparkeringsytabyid/abc123/29_1 Exempel på JSON-svar "Id": "29_1", "Name": "Detektiven", "Latitude": 58.4086, "Longitude": 15.6276, "ParkingSpaces": 352, "ParkingSpacesAvailable": 175, "TicketMachines": 3, "PaymentTypes": [ 1, 2, 3, 4, 5, 6, 7, 8, 100, 101, 102 "ChargeDescription": "00-24 alla dagar. 12 kr\/tim 08-22 därefter 1kr\/tim 22-08. Max 80 kr\/dygn. 30d\/800kr för Akilles&Druvan. 850kr för Baggen&Detektiven", "Availability": 1, "ParkingTypes": [ 1 "ParkingAreaTypes": [ 2 "Visible": true 5

6 av 8 3.2 GetParkeringsytaList Hämtar information om nya och uppdaterade parkeringsytor baserat på angiven tidsstämpel. Om ingen tidsstämpel anges, så hämtas alla parkeringsytor. URL http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getparkeringsytalist/nyckel/times tamp Inparametrar Parameter Typ Förklaring Obligatoriskt Exempel Nyckel Sträng Nyckel som erhålls vid registrering. Ja Abc123 timestamp Flyttal UNIX-tidsstämpel för att hämta nya/förändrade parkeringsytor sedan en given tidpunkt. Om ingen tiddstämpel anges, alternativt en tidsstämpel med värdet 0, så hämtas allt. Nej 1356994800,0 Returnerad data Resultatet av anropet är ett JSON-objekt med två listor: ParkingAreaNewList och ParkeringAreaUpdateList. Innehållet i dessa listor är noll till många JSON-objekt med parkeringsytor och strukturen på dessa är densamma som för anropet GetParkeringsytaById. Namn Typ Förklaring Exempel ParkingAreaNewList Lista Innehåller en lista med nya parkeringsytor. "ParkingAreaNewList": [ Noll till många parkeringsytor ] ParkingAreaUpdateList Lista Innehåller en lista med uppdaterade parkeringsytor. "ParkingAreaUpdateList": [ Noll till många parkeringsytor ] Exempelanrop Hämta alla parkeringsytor: http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getparkeringsytalist/abc123/0 Hämta nya eller uppdaterade parkeringsytor sedan 2013-01-01: http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getparkeringsytalist/abc123/13569 94800,0 6

7 av 8 Exempel på JSON-svar "ParkingAreaNewList": [ "Id": "29_1", "Name": "Detektiven", "Latitude": 58.4086, "Longitude": 15.6276, "ParkingSpaces": 352, "TicketMachines": 3, "PaymentTypes": [ 1, 2, 3 "ChargeDescription": "00-24 alla dagar. 12 kr\/tim 08-22 därefter 1kr\/tim 22-08. Max 80 kr\/dygn. 30d\/800kr för Akilles&Druvan. 850kr för Baggen&Detektiven", "ParkingTypes": [ 1 "ParkingAreaTypes": [ 2 "Visible": true, "Id": "29_4", "Name": "Detektiven", "Latitude": 58.4086, "Longitude": 15.6276, "ParkingSpaces": 2, "TicketMachines": 3, "PaymentTypes": [ 1, 2, 3 "ChargeDescription": "00-24 alla dagar. 12 kr\/tim 08-22 därefter 1kr\/tim 22-08. Max 80 kr\/dygn. 30d\/800kr för Akilles&Druvan. 850kr för Baggen&Detektiven", "ParkingTypes": [ 4 "ParkingAreaTypes": [ 2 "Visible": true "ParkingAreaUpdateList": [ ] 7

8 av 8 3.3 GetSenasteVersion Webbtjänsten kan finnas i flera versioner. Följande anrop gör det möjligt att ta reda på versionsnumret på den senaste versionen av webbtjänstens systemgränssnitt. URL http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getsenasteversion Inparametrar Inga Returnerad data Resultatet av anropet är ett JSON-värde (helttal) och värdet på detta heltal är alltså versionsnumret på den senaste versionen av webbtjänstens systemgränsnitt. Namn Typ Förklaring Exempel Heltal Versionsnumret på senaste version av webbtjänstens system 1 gränssnitt Exempelanrop http://parkering.linkoping.se/parkeringsdata/parkeringsdatav1.svc/getsenasteversion Exempel på JSON-svar 1 8