Documentation

Pour commencer

Pour accéder au flux de données en temps réel d'arrivée du prochain autobus d'OC Transpo, vous aurez besoin d'une clé API. Inscrivez-vous et recevez une clé API immédiatement en utilisant le formulaire d'inscription API.

  • Suivez ce lien pour vous inscrireé: https://octranspo-new.3scale.net/signup
  • Une fois que vous aurez fourni vos nom et coordonnées, nous vous enverrons un courriel contenant un lien pour activer votre compte. Suivez les instructions pour activer votre compte, inscrivez-vous et générez une nouvelle ID d'application en cliquant sur la section des applications du Tableau de bord.
  • Aux fins de sécurité, on vous demandera votre ID d'application et votre clé API chaque fois que vous faites une demande.

Description des méthodes

  1. « GetRouteSummaryForStop » : Récupére les circuits pour un numéro d'arrêt donné.
  2. « GetNextTripsForStop » : Récupére les trois prochains trajets sur le circuit pour un numéro d'arrêt donné.
  3. « GetNextTripsForStopAllRoutes » : fournit les trois prochains trajets du circuit voulu pour un arrêt en particulier.
  4. General Transit Feed Specification (GTFS) : permet d’extraire les dossiers voulus de chacune des sections du GTFS.

1) GetRouteSummaryForStop

Récupére les renseignements des circuits pour un arrêt en particulier.

URL: https://api.octranspo1.com/v1.2/GetRouteSummaryForStop

Parameters:

  • appID: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  • apiKey: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  • Obligatoire. Numéro à quatre chiffres figurant sur un arrêt d’autobus. Vous pouvez télécharger ici la liste complète des arrêts : http://www.octranspo1.com/files/google_transit.zip

Utilisation :

curl -d "appID={appID}&apiKey={apiKey}&stopNo=7659" https://api.octranspo1.com/v1.2/GetRouteSummaryForStop

HTTP POST

Ce qui suit est un exemple de demande et de réponse en protocole HTTP. Les paramétres fictifs indiqués doivent être remplacés par les vraies données.


POST /v1.2/GetRouteSummaryForStop HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length


stopNo=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<GetRouteSummaryForStopResponse xmlns="http://octranspo.com">
			<GetRouteSummaryForStopResult>
				<StopNo xmlns="http://tempuri.org/">string</StopNo>
				<StopDescription 
				 xmlns="http://tempuri.org/">string</StopDescription>
				<Error xmlns="http://tempuri.org/">string</Error>
				<Routes xmlns="http://tempuri.org/">
					<Route>
						<RouteNo>int</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
					<Route>
						<RouteNo>int</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
				</Routes>
			</GetRouteSummaryForStopResult>
		</GetRouteSummaryForStopResponse>
	</soap:Body>
</soap:Envelope>

Codes d'autobus

Voici les lettres et les chiffres qui servent à différencier les types d'autobus : 4, 6, 40, 60, DD, E, EA, A, L, B, DEH

4 ou 40 = autobus de 40 pieds
6 ou 60 = autobus de 60 pieds
4 et 6 = trajets effectués par des autobus de 40 ou de 60 pieds
DD = autobus à deux étages
E, L, A, EA = autobus à plancher surbaiss?
B = support pour vélos
DEH = autobus hybrides alimentés au diesel
IN = INVIRO (type d'autobus)
ON = ORION (type d'autobus)

Temps depuis l'ajustement

Le temps depuis l'ajustement indique le temps (en minutes écoulées et en minutes divisées par l'écart) depuis que les données GPS disponibles pour l'autobus ont été utilisées pour d'terminer l'heure d'arrivée prévue ajustée. Plus le nombre est haut, moins l'heure d'arrivée prévue ajustée est fiable.

Si le nombre indiqué au temps depuis l'ajustement est négatif, cela signifie que l'heure d'arrivée prévue ajustée affiche le véritable temps d'arrivée prévu.

Codes d'erreur possibles pour : <Error>string</Error>

Error	Note
1	Invalid API key
2	Unable to query data source
10	Invalid stop number

Description en format XML

<!--Response to the web method GetRouteSummaryForStop-->
<RoutesForStopData>
	<!--Errors if any for the request made.-->
	<Error>string</Error>
	<RouteSummaryData>
	<!--Route number-->
	<RouteNo>int</RouteNo>
	<Directions>
	  <!--First direction-->
	  <DirectionData>
		<!--Direction identifier. e.g. 0 = Eastbound, 1 = WestBound-->
		<DirectionId>int</DirectionId>
		<!--The route & direction heading-->
		<RouteHeading>string</RouteHeading>
		<!--Direction description e.g. Inbound / Outbound-->
		<DirDescription>string</DirDescription>
	  </DirectionData>
	  <!--Second direction-->
	  <DirectionData>
		<!--Direction identifier. e.g. 0 = Eastbound, 1 = WestBound-->
		<DirectionId>int</DirectionId>
		<!--The route & direction heading-->
		<RouteHeading>string</RouteHeading>
		<!--Direction description e.g. Inbound / Outbound-->
		<DirDescription>string</DirDescription>
	  </DirectionData>
	</Directions>
	</RouteSummaryData>
</RoutesForStopData>

Données-échantillons pour l'arrêt 3017.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<GetRouteSummaryForStopResponse xmlns="http://octranspo.com">
			<GetRouteSummaryForStopResult>
			<StopNo xmlns="http://tempuri.org/">3017</StopNo>
			<StopDescription xmlns="http://tempuri.org/">BASELINE</StopDescription>
			<Error xmlns="http://tempuri.org/" />
			<Routes xmlns="http://tempuri.org/">
				<Route>
					<RouteNo>57</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / centre-ville</RouteHeading>
				</Route>
				<Route>
					<RouteNo>57</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Outbound</Direction>
					<RouteHeading>Baseline</RouteHeading>
				</Route>
				<Route>
					<RouteNo>70</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / centre-ville</RouteHeading>
				</Route>
				<Route>
					<RouteNo>70</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Outbound</Direction>
					<RouteHeading>Barrhaven</RouteHeading>
				</Route>
				<Route>
					<RouteNo>71</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / Centre-ville</RouteHeading>
				</Route>
				<Route>
					<RouteNo>71</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Outbound</Direction>
					<RouteHeading>Barrhaven</RouteHeading>
				</Route>
				<Route>
					<RouteNo>73</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / centre-ville</RouteHeading>
				</Route>
				<Route>
					<RouteNo>73</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Outbound</Direction>
					<RouteHeading>Barrhaven</RouteHeading>
				</Route>
				<Route>
					<RouteNo>76</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / centre-ville</RouteHeading>
				</Route>
				<Route>
					<RouteNo>76</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Outbound</Direction>
					<RouteHeading>Barrhaven</RouteHeading>
				</Route>
				<Route>
					<RouteNo>77</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Inbound</Direction>
					<RouteHeading>Downtown / centre-ville</RouteHeading>
				</Route>
			</Routes>
			</GetRouteSummaryForStopResult>
		</GetRouteSummaryForStopResponse>
	</soap:Body>
</soap:Envelope>

2) GetNextTripsForStop

Récupére les renseignements des trois prochains trajets d'un circuit pour un arrêt en particulier.

URL: https://api.octranspo1.com/v1.2/GetNextTripsForStop

Parameters:

  • appID: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  • apiKey: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  • routeNo: Obligatoire. Numéro du circuit de l'autobus.
  • Obligatoire. Numéro à quatre chiffres figurant sur un arrêt d’autobus. Vous pouvez télécharger ici la liste complète des arrêts : http://data.ottawa.ca/fr/dataset/oc-transpo-schedules

Utilisation :

curl -d "appID={appID}&apiKey={apiKey}&routeNo=1&stopNo=7659" https://api.octranspo1.com/v1.2/GetNextTripsForStop
Requéte en format XML

HTTP POST

Ce qui suit est un exemple de demande et de réponse en protocole HTTP. Les paramétres fictifs indiqu?s doivent être remplacés par les vraies données.


HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<GetRouteSummaryForStopResponse xmlns="http://octranspo.com">
			<GetRouteSummaryForStopResult>
				<StopNo xmlns="http://tempuri.org/">string</StopNo>
				<StopDescription 
				 xmlns="http://tempuri.org/">string</StopDescription>
				<Error xmlns="http://tempuri.org/">string</Error>
				<Routes xmlns="http://tempuri.org/">
					<Route>
						<RouteNo>int</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
					<Route>
						<RouteNo>int</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
				</Routes>
			</GetRouteSummaryForStopResult>
		</GetRouteSummaryForStopResponse>
	</soap:Body>
</soap:Envelope>

Codes d'erreur possibles pour : <Error>:

Error	Note
2	Unable to query data source

XML Format Description

<!--Retrieve the next 3 trips for a specific route in a specific direction to pass by the stop. 
	The following is a sample request and response. 
	The placeholders shown need to be replaced with actual values.-->

<!--Response-->
<STOPINFO>
	<!--4 digit stop number-->
	<STOPNO>int</STOPNO>
	<!--Stop description-->
	<STOPLABEL>string</STOPLABEL>
	<!--Errors if any while generating data the stop. i.e. Invalid stop number-->
	<Error>string</Error>
	<Routes>
		<Route>
			<!--Route number-->
			<Route>int</Route>
			<!--Route description-->
			<RouteLabel>string</RouteLabel>
			<!--Trip direction i.e. NorthBound/SouthBound-->
			<Direction>string</Direction>
			<!--Errors if any while generating data the route. 
			 i.e. Route does not pass the stop specified-->
			<Error>string</Error>
			<!--Time the request was processed. This will be using the format 
			 'YYYYMMDDHHMISS' where HH = 24 hour format-->
			<RequestProcessingTime>string</RequestProcessingTime> 
			<Trips>
				<!--First Trip-->
				<Trip>
					<!--Final stop on the trip--> 
					<TripDestination>string</TripDestination> 
					<!--start time for the trip. Format HH:MI, 
					 where HH = 24 hour format-->
					<TripStartTime>string</TripStartTime>		
					<!--adjusted scheduled time in minutes-->
				<AdjustedScheduleTime>string</AdjustedScheduleTime> 
					<!--The time since the scheduled was adjusted 
					 in whole and fractional minutes. -->
					<AdjustmentAge>string</AdjustmentAge>
					<!--last trip to pass the stop for 
					 the route & direction-->
					<LastTripOfSchedule>boolean</LastTripOfSchedule> 
					<!--type of bus : low floor, bike rack etc.-->
					<BusType>string</BusType> 	
<!--speed of the bus in km/hr-- >
					<GPSSpeed>int</GPSSpeed>
					<!--Latitude of the last gps reading for the bus-->
					<Latitude></Latitude>
<!--Longitude of the last gps reading for the bus-->
					<Longitude></Longitude>
				</Trip>
				<!--Second Trip-->
				<Trip>
					<!--Final stop on the trip--> 
					<TripDestination>string</TripDestination> 
					<!--start time for the trip-->
					<TripStartTime>string</TripStartTime>		
					<!--adjusted scheduled time in minutes-->
				<AdjustedScheduleTime>string</AdjustedScheduleTime> 
					<!--The time since the scheduled was adjusted 
					 in whole and fractional minutes-->
					<AdjustmentAge>string</AdjustmentAge>
					<!--last trip to pass the stop 
					 for the route & direction-->
					<LastTripOfSchedule>boolean</LastTripOfSchedule> 
					<!--type of bus : low floor, bike rack etc.-->
					<BusType>string</BusType> 	
 					<!--speed of the bus in km/hr-- >
					<SPEED>int</SPEED>
					<!--Latitude of the last gps reading for the bus-->
					<Latitude></Latitude>
<!--Longitude of the last gps reading for the bus-->
					<Longitude></Longitude>
				</Trip>
<!--Third Trip-->
				<Trip>
					<!--Final stop on the trip--> 
					<TripDestination>string</TripDestination> 
					<!--start time for the trip-->
					<TripStartTime>string</TripStartTime>		
					<!--adjusted scheduled time in minutes-->
				<AdjustedScheduleTime>string</AdjustedScheduleTime> 
					<!--The time since the scheduled was adjusted 
					 in whole and fractional minutes-->
					<AdjustmentAge>string</AdjustmentAge>
					<!--last trip to pass the stop 
					 for the route & direction-->
					<LastTripOfSchedule>boolean</LastTripOfSchedule> 
					<!--type of bus : low floor, bike rack etc.-->
					<BusType>string</BusType> 	
 					<!--speed of the bus in km/hr-- >
					< GPSSPEED >int</ GPSSPEED >
					<!--Latitude of the last gps reading for the bus-->
					<Latitude></Latitude>
<!--Longitude of the last gps reading for the bus-->
					<Longitude></Longitude>
				</Trip>

			</Trips>
		</Route>
	</Routes>
</STOPINFO>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetNextTripsForStopResponse xmlns="http://octranspo.com">
<GetNextTripsForStopResult>
	<StopNo xmlns="http://tempuri.org/">3017</StopNo>
	<StopLabel xmlns="http://tempuri.org/">BASELINE</StopLabel>
	<Error xmlns="http://tempuri.org/" />
	<Route xmlns="http://tempuri.org/">
		<RouteDirection>
			<RouteNo>95</RouteNo>
			<RouteLabel>Orl?ans</RouteLabel>
			<Direction>Eastbound</Direction>
			<Error />
			<RequestProcessingTime>20120213151218</RequestProcessingTime>
			<Trips>
				<Trip>
					<TripDestination>Trim</TripDestination>
					<TripStartTime>14:59</TripStartTime>
					<AdjustedScheduleTime>2</AdjustedScheduleTime>
					<AdjustmentAge>0.53</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<GPSSpeed>46.68</GPSSpeed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
				<Trip>
					<TripDestination>Place d'Orl?ans</TripDestination>
					<TripStartTime>15:22</TripStartTime>
					<AdjustedScheduleTime>10</AdjustedScheduleTime>
					<AdjustmentAge>-1</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<Speed>46.68</Speed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
				<Trip>
					<TripDestination>Trim</TripDestination>
					<TripStartTime>15:09</TripStartTime>
					<AdjustedScheduleTime>16</AdjustedScheduleTime>
					<AdjustmentAge>0.73</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<GPSSpeed>46.68</GPSSpeed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
			</Trips>
		</RouteDirection>
		<RouteDirection>
			<RouteNo>95</RouteNo>
			<RouteLabel>Barrhaven Centre</RouteLabel>
			<Direction>Westbound</Direction>
			<Error />
			<RequestProcessingTime>20120213151218</RequestProcessingTime>
			<Trips>
				<Trip>
					<TripDestination>Barrhaven Centre</TripDestination>
					<TripStartTime>14:25</TripStartTime>
					<AdjustedScheduleTime>7</AdjustedScheduleTime>
					<AdjustmentAge>0.67</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<GPSSpeed>46.68</GPSSpeed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
				<Trip>
					<TripDestination>Barrhaven Centre</TripDestination>
					<TripStartTime>14:55</TripStartTime>
					<AdjustedScheduleTime>9</AdjustedScheduleTime>
					<AdjustmentAge>0.55</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<Speed>46.68</Speed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
				<Trip>
					<TripDestination>Barrhaven Centre</TripDestination>
					<TripStartTime>14:35</TripStartTime>
					<AdjustedScheduleTime>18</AdjustedScheduleTime>
					<AdjustmentAge>0.82</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6E - 60</BusType>
					<GPSSpeed>46.68</GPSSpeed>
					<Latitude>45.372693</Latitude>
					<Longitude>-75.734738</Longitude>
				</Trip>
			</Trips>
		</RouteDirection>
	</Route>
</GetNextTripsForStopResult>
</GetNextTripsForStopResponse>
</soap:Body>
</soap:Envelope>

3) « GetNextTripsForStopAllRoutes »

Fournit les trois prochains trajets du circuit voulu pour un arrêt en particulier.

URL : https://api.octranspo1.com/v1.2/GetNextTripsForStopAllRoutes

Paramètres :

appID
Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
apiKey
Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
stopNo
Obligatoire. Numéro à quatre chiffres figurant sur un arrêt d’autobus. Vous pouvez télécharger ici la liste complète des arrêts : http://ottawa.ca/online_services/opendata/info/transit_schedule_en.html
format
Optionnel. Format des données renvoyées (JSON OU XML). Format par défaut : XML.

Utilisation

curl -d "appID={appID}&apiKey={apiKey}&stopNo=7659&format=json" https://api.octranspo1.com/v1.2/GetNextTripsForStopAllRoutes

Description en format XML

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <GetRouteSummaryForStopResponse xmlns="http://octranspo.com">
            <GetRouteSummaryForStopResult>
                <StopNo xmlns="http://tempuri.org/">string</StopNo>
                <StopDescription 
                 xmlns="http://tempuri.org/">string</StopDescription>
                <Error xmlns="http://tempuri.org/">string</Error>
                <Routes xmlns="http://tempuri.org/">
                    <Route>
                        <RouteNo>int</RouteNo>
                        <DirectionID>int</DirectionID>
                        <Direction>string</Direction>
                        <RouteHeading>string</RouteHeading>
                        <Trips>
                            <!--First Trip-->
                            <Trip>
                                <!--Final stop on the trip--> 
                                <TripDestination>string</TripDestination> 
                                <!--start time for the trip. Format HH:MI, 
                                 where HH = 24 hour format-->
                                <TripStartTime>string</TripStartTime>        
                                <!--adjusted scheduled time in minutes-->
                                <AdjustedScheduleTime>string</AdjustedScheduleTime> 
                                <!--The time since the scheduled was adjusted 
                                 in whole and fractional minutes. -->
                                <AdjustmentAge>string</AdjustmentAge>
                                <!--last trip to pass the stop for 
                                 the route & direction-->
                                <LastTripOfSchedule>boolean</LastTripOfSchedule> 
                                <!--type of bus : low floor, bike rack etc.-->
                                <BusType>string</BusType>     
                                <!--speed of the bus in km/hr-- >
                                <GPSSpeed>int</GPSSpeed>
                                <!--Latitude of the last gps reading for the bus-->
                                <Latitude></Latitude>
                                <!--Longitude of the last gps reading for the bus-->
                                <Longitude></Longitude>
                            </Trip>
                            <!--Second Trip-->
                            <Trip>
                                <!--Final stop on the trip--> 
                                <TripDestination>string</TripDestination> 
                                <!--start time for the trip-->
                                <TripStartTime>string</TripStartTime>        
                                <!--adjusted scheduled time in minutes-->
                                <AdjustedScheduleTime>string</AdjustedScheduleTime> 
                                <!--The time since the scheduled was adjusted 
                                 in whole and fractional minutes-->
                                <AdjustmentAge>string</AdjustmentAge>
                                <!--last trip to pass the stop 
                                 for the route & direction-->
                                <LastTripOfSchedule>boolean</LastTripOfSchedule> 
                                <!--type of bus : low floor, bike rack etc.-->
                                <BusType>string</BusType>     
                                 <!--speed of the bus in km/hr-- >
                                <SPEED>int</SPEED>
                                <!--Latitude of the last gps reading for the bus-->
                                <Latitude></Latitude>
                                <!--Longitude of the last gps reading for the bus-->
                                <Longitude></Longitude>
                            </Trip>
                        </Trips>
                    </Route>
                    <Route>
                        <RouteNo>int</RouteNo>
                        <DirectionID>int</DirectionID>
                        <Direction>string</Direction>
                        <RouteHeading>string</RouteHeading>
                        <Trips>
                            <!--First Trip-->
                            <Trip>
                                <!--Final stop on the trip--> 
                                <TripDestination>string</TripDestination> 
                                <!--start time for the trip. Format HH:MI, 
                                 where HH = 24 hour format-->
                                <TripStartTime>string</TripStartTime>        
                                <!--adjusted scheduled time in minutes-->
                                <AdjustedScheduleTime>string</AdjustedScheduleTime> 
                                <!--The time since the scheduled was adjusted 
                                 in whole and fractional minutes. -->
                                <AdjustmentAge>string</AdjustmentAge>
                                <!--last trip to pass the stop for 
                                 the route & direction-->
                                <LastTripOfSchedule>boolean</LastTripOfSchedule> 
                                <!--type of bus : low floor, bike rack etc.-->
                                <BusType>string</BusType>     
                                <!--speed of the bus in km/hr-- >
                                <GPSSpeed>int</GPSSpeed>
                                <!--Latitude of the last gps reading for the bus-->
                                <Latitude></Latitude>
                                <!--Longitude of the last gps reading for the bus-->
                                <Longitude></Longitude>
                            </Trip>
                            <!--Second Trip-->
                            <Trip>
                                <!--Final stop on the trip--> 
                                <TripDestination>string</TripDestination> 
                                <!--start time for the trip-->
                                <TripStartTime>string</TripStartTime>        
                                <!--adjusted scheduled time in minutes-->
                                <AdjustedScheduleTime>string</AdjustedScheduleTime> 
                                <!--The time since the scheduled was adjusted 
                                 in whole and fractional minutes-->
                                <AdjustmentAge>string</AdjustmentAge>
                                <!--last trip to pass the stop 
                                 for the route & direction-->
                                <LastTripOfSchedule>boolean</LastTripOfSchedule> 
                                <!--type of bus : low floor, bike rack etc.-->
                                <BusType>string</BusType>     
                                 <!--speed of the bus in km/hr-- >
                                <SPEED>int</SPEED>
                                <!--Latitude of the last gps reading for the bus-->
                                <Latitude></Latitude>
                                <!--Longitude of the last gps reading for the bus-->
                                <Longitude></Longitude>
                            </Trip>
                        </Trips>

                    </Route>
                </Routes>
            </GetRouteSummaryForStopResult>
        </GetRouteSummaryForStopResponse>
    </soap:Body>
</soap:Envelope>

JSON – Exemple de réponse

{
    "GetRouteSummaryForStopResult": {
        "StopNo": "7659",
        "StopDescription": "BANK FIFTH",
        "Error": "",
        "Routes": {
            "Route": [
                {
                    "RouteNo": 1,
                    "DirectionID": 1,
                    "Direction": "Northbound",
                    "RouteHeading": "Ottawa-Rockcliffe",
                    "Trips": [
                        {
                            "TripDestination": "Ottawa Rockcliffe",
                            "TripStartTime": "14:51",
                            "AdjustedScheduleTime": "13",
                            "AdjustmentAge": "0.39",
                            "LastTripOfSchedule": false,
                            "BusType": "4L - IN",
                            "Latitude": "45.379298",
                            "Longitude": "-75.667908",
                            "GPSSpeed": "0.5"
                        },
                        {
                            "TripDestination": "Ottawa Rockcliffe",
                            "TripStartTime": "15:09",
                            "AdjustedScheduleTime": "25",
                            "AdjustmentAge": "0.76",
                            "LastTripOfSchedule": false,
                            "BusType": "4E - DEH",
                            "Latitude": "45.351322",
                            "Longitude": "-75.652007",
                            "GPSSpeed": "22.4"
                        },
                        {
                            "TripDestination": "Ottawa Rockcliffe",
                            "TripStartTime": "15:24",
                            "AdjustedScheduleTime": "39",
                            "AdjustmentAge": "0.57",
                            "LastTripOfSchedule": false,
                            "BusType": "4E - DEH",
                            "Latitude": "45.360289",
                            "Longitude": "-75.658753",
                            "GPSSpeed": "0.5"
                        }
                    ]
                },
                {
                    "RouteNo": 7,
                    "DirectionID": 1,
                    "Direction": "Eastbound",
                    "RouteHeading": "St. Laurent",
                    "Trips": [
                        {
                            "TripDestination": "St. Laurent",
                            "TripStartTime": "15:04",
                            "AdjustedScheduleTime": "3",
                            "AdjustmentAge": "0.55",
                            "LastTripOfSchedule": false,
                            "BusType": "4L - IN",
                            "Latitude": "45.392585",
                            "Longitude": "-75.682208",
                            "GPSSpeed": "23.5"
                        },
                        {
                            "TripDestination": "Brittany",
                            "TripStartTime": "15:21",
                            "AdjustedScheduleTime": "9",
                            "AdjustmentAge": "-1",
                            "LastTripOfSchedule": false,
                            "BusType": "6EB - 60",
                            "Latitude": "",
                            "Longitude": "",
                            "GPSSpeed": ""
                        },
                        {
                            "TripDestination": "St. Laurent",
                            "TripStartTime": "15:18",
                            "AdjustedScheduleTime": "14",
                            "AdjustmentAge": "-1",
                            "LastTripOfSchedule": false,
                            "BusType": "4LA - DEH",
                            "Latitude": "",
                            "Longitude": "",
                            "GPSSpeed": ""
                        }
                    ]
                }
            ]
        }
    }
}

4) General Transit Feed Specification (GTFS)

Permet d’extraire les dossiers voulus de chacune de sections du GTFS.

URL : https://api.octranspo1.com/v1.2/Gtfs

Paramètres :

appID
Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
apiKey
Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
table
Obligatoire. Tableau dans lequel se fera la recherche. (Voir la liste des tableaux ci-dessous.)
id
Optionnel. Rangée donnée d’un tableau selon la valeur de « id ».
column
Optionnel. Colonne spécifique d’un tableau. Si vous précisez la colonne, vous devrez également remplir le champ « value ». (Voir la liste des colonnes ci-dessous.)
value
Optionnel*. Valeur spécifique dans une colonne. *Vous devez remplir ce champ si vous avez précisé la colonne.
order_by
Optionnel. Précisez la colonne dont vous souhaitez trier les données.
direction
Optionnel. Précisez l’ordre de classement des dossiers (ascendant ou descendant). Ordre par défaut : ascendant.
limit
Optionnel. Indiquez le nombre maximal de dossiers renvoyés.
format
Optionnel. Format des données renvoyées (JSON OU XML). Format par défaut : XML.

Utilisation

curl -d "appID={appID}&apiKey={apiKey}&table=stops&column=stop_id&value=AA010&order_by=stop_code&direction=desc&limit=10&format=json" https://api.octranspo1.com/v1.2/Gtfs

Recherche dans GTFS : Tableaux et colonnes

Table Columns JSON
agency
  • id
  • agency_name
  • agency_url
  • agency_timezone
  • agency_lang
{
    "Query": {
        "table": "agency",
        "direction": "ASC",
        "column": "id",
        "value": "1",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "agency_name": "OC Transpo-a",
            "agency_url": "http:\/\/www.octranspo.com",
            "agency_timezone": "America\/Montreal",
            "agency_lang": "en"
        }
    ]
}
calendar
  • id
  • service_id
  • monday
  • tuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
  • start_date
  • end_date
{
    "Query": {
        "table": "calendar",
        "direction": "ASC",
        "column": "id",
        "value": "1",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "service_id": "JUN26-JUNDA13-Weekday-01",
            "monday": "1",
            "tuesday": "1",
            "wednesday": "1",
            "thursday": "1",
            "friday": "1",
            "saturday": "0",
            "sunday": "0",
            "start_date": "20130626",
            "end_date": "20130627"
        }
    ]
}
calendar_dates
  • id
  • service_id
  • date
  • exception_type
{
    "Query": {
        "table": "calendar_dates",
        "direction": "ASC",
        "column": "id",
        "value": "1",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "service_id": "JUN13-JUNDA13-Weekday-99",
            "date": "20130701",
            "exception_type": "2"
        }
    ]
}
routes
  • id
  • route_id
  • route_short_name
  • route_long_name
  • route_desc
  • route_type
{
    "Query": {
        "table": "routes",
        "direction": "ASC",
        "column": "id",
        "value": "1",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "route_id": "1-146",
            "route_short_name": "1",
            "route_long_name": "",
            "route_desc": "",
            "route_type": "3"
        }
    ]
}
stops
  • id
  • stop_id
  • stop_code
  • stop_name
  • stop_desc
  • stop_lat
  • stop_lon
  • stop_street
  • stop_city
  • stop_region
  • stop_postcode
  • stop_country
  • zone_id
{
    "Query": {
        "table": "stops",
        "direction": "ASC",
        "column": "stop_id",
        "value": "AA010",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "stop_id": "AA010",
            "stop_code": "8767",
            "stop_name": "SUSSEX \/ CHUTE RIDEAU FALLS",
            "stop_desc": "",
            "stop_lat": "45.4399",
            "stop_lon": "-75.6958",
            "stop_street": "",
            "stop_city": "",
            "stop_region": "",
            "stop_postcode": "",
            "stop_country": "",
            "zone_id": ""
        }
    ]
}
REMARQUE : pour le tableau des arrêts, il faut indiquer le stop_id ou stop_code ou des valeurs d’identification.
stop_times
  • id
  • trip_id
  • arrival_time
  • departure_time
  • stop_id
  • stop_sequence
  • pickup_type
{
    "Query": {
        "table": "stop_times",
        "direction": "ASC",
        "column": "stop_id",
        "value": "AA010",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "133436",
            "trip_id": "27212870-CADA13-CADA13-Sunday-71",
            "arrival_time": "08:29:00",
            "departure_time": "08:29:00",
            "stop_id": "AA010",
            "stop_sequence": "20",
            "pickup_type": "0",
            "drop_off_type": "0"
        }
    ]
}
REMARQUE : pour le tableau stop_times, il faut indiquer le trip_id ou stop_id ou des valeurs d’identification.
trips
  • id
  • route_id
  • service_id
  • trip_id
  • trip_headsign
  • block_id
{
    "Query": {
        "table": "trips",
        "direction": "ASC",
        "column": "route_id",
        "value": "135-147",
        "format": "json"
    },
    "Gtfs": [
        {
            "id": "1",
            "route_id": "135-147",
            "service_id": "CADA13-CADA13-Sunday-71",
            "trip_id": "27210104-CADA13-CADA13-Sunday-71",
            "trip_headsign": "Esprit",
            "block_id": "3406628"
        }
    ]
}
REMARQUE : pour le tableau des trajets, il faut indiquer le route_id ou des valeurs d’identification.

Envoyer cette page

PRESTO