Warning:
This wiki has been archived and is now read-only.

Api example

From Data on the Web Best Practices
Jump to: navigation, search

DWBP API Documentation

API URL http://data.mycity.example.com/transport/api/

List all bus routes

GET /bus/routes

Parameters

Name Type Optional Description
transport-agency string optional If provided, retrieves data only for the given transport agency
full-details boolean optional If set to true, all details for each route is returned. Default is false


Example

http://data.mycity.example.com/transport/api/bus/routes?transport-agency=DTA&full-details=false

Response

{
 	"results": {"transport-agency": "http://data.mycity.example.com/transport-agency/DTA",
		"routes":[
			{"id":"1",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/1"},
			{"id":"3",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/3"}, 					
			{"id":"5",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/5"}, 					
			{"id":"8",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/8"}, 					
			{"id":"10",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/10"}, 					
			{"id":"12a",
			"uri": "http://data.mycity.example.com/transport/road/bus/route/id/12a"}
		]
	}
}

List all bus stops

GET /bus/stops

Parameters

Name Type Optional Description
transport-agency string optional If provided, retrieves data only for the given transport agency
route string optional If provided, retrieves data only for the given route
full-details boolean optional If set to true, all details for each stop is returned. Default is false

Example

http://data.mycity.example.com/transport/api/bus/stops?transport-agency=DTA&route=5&full-details=true

Response

Three different ways to describe stops:
* using simple fields, 
* using fields defined in http://w3c.github.io/dwbp/dwbp-example.html and 
* using geojson.
{
 	"results": {"transport-agency": "http://data.mycity.example.com/transport-agency/DTA",
		"route": "http://data.mycity.example.com/transport/road/bus/route/id/5",
		"stops":[				
			{"id":"345",
			"uri": "http://data.mycity.example.com/transport/road/bus/stop/id/345", 
			"name": "Castle Avenue, Sunset Drive",
			"description": "Castle Avenue, Sunset Drive",
			"latitude": "-3.731862",
			"longitude": "-38.526670",
			"zone_id": "x20"				
			},
			{"stop_id":"483",
			"stop_uri": "http://data.mycity.example.com/transport/road/bus/stop/id/483", 
			"stop_name": "Main Street, Lily Park",
			"stop_desc": "Main Street, Lily Park",
			"stop_lat": "-3.731541",
			"stop_long": "-38.535157",
			"zone_id": "x20"				
			},
			{"id":"541",
			"uri": "http://data.mycity.example.com/transport/road/bus/stop/id/541", 
			"name": "West Avenue, Beech Road",
			"desc": "West Avenue, Beech Road",
			"location": { "type": "Point", 
				"coordinates": [-38.514354, -3.734957] },
			"zone_id": "x22"				
			}
		]
	}
}

Get real-time info for bus stop

GET /bus/realtime/{stopid}

Parameters

Name Type Optional Description
full-details boolean optional If set to true, all details for each stop is returned. Default is false
transport-agency string optional If provided, retrieves data only for the given transport agency
route string optional If provided, retrieves data only for the given route

stop - string - mandatory, retrieves real-time information for given stop. full-details - boolean - optional, if set to true, all details for each stop is return. Default is false transport agency - string - optional, if provided retrieves data only for given transport agency. route - string - optional, if provided retrieves data only for given route.

Example

http://data.mycity.example.com/transport/api/bus/realtime/345

Response

{
 	"results": {"id":"345",
		"uri":"http://data.mycity.example.com/transport/road/bus/stop/id/345",
		"timestamp":"2016-05-03T13:54:16Z",
		"realtime":[
			{"transport-agency": "http://data.mycity.example.com/transport-agency/DTA",
			"route": "http://data.mycity.example.com/transport/road/bus/route/id/5",
			"duetime":"2016-05-03T14:00Z"
			}, 
			{"transport-agency": "http://data.mycity.example.com/transport-agency/ABC",
			"route": "http://data.mycity.example.com/transport/road/bus/route/id/8",
			"duetime":"2016-05-03T14:03Z"
			}, 
			{"transport-agency": "http://data.mycity.example.com/transport-agency/ABC",
			"route": "http://data.mycity.example.com/transport/road/bus/route/id/12a",
			"duetime":"2016-05-03T14:05Z"
			}, 
			{"transport-agency": "http://data.mycity.example.com/transport-agency/DTA",
			"route": "http://data.mycity.example.com/transport/road/bus/route/id/5",
			"duetime":"2016-05-03T14:06Z"
			}
		]
	}
}