Passer directement au contenu

Documentation

Modifications importantes à l’API - nouvelle version 2.0 en remplacement de la version 1.3

La version 2.0 de l’API de données ouvertes d’OC Transpo est publiée. Nous recommandons à tous les développeurs d’utiliser cette nouvelle version pour mettre à jour au besoin leurs applications. La version 2.0 est maintenant dans notre environnement de production et les applications qui l’utilisent peuvent être lancées. Informations complémentaires :

Pour commencer

Afin d’accéder au flux de données en temps réel d’arrivée du prochain autobus d’OC Transpo, vous devez avoir une clé d’interface de programmation d’applications (API). Inscrivez-vous et vous recevrez instantanément une clé d’API en remplissant le formulaire d’inscription pour obtenir une clé d’API.

S’inscrire en tant que développeur pour recevoir une clé d’APIOuverture de session du développeur

Lorsque vous aurez fourni votre nom et vos coordonnées, nous vous enverrons un courriel comprenant un lien pour activer votre compte. Vous devez suivre les directives pour activer votre compte, ouvrir une session et générer un nouveau numéro d’identité d’application en cliquant sur la section des applications du tableau de bord.

Pour des raisons de sécurité, nous vous demandons de fournir votre numéro d’identité d’application et votre clé d’API dans chacune de vos demandes. Assurez-vous de faire vos requêtes en utilisant HTTPS.

Méthodes

  1. GetRouteSummaryForStop : Permet d’extraire les circuits pour un numéro d’arrêt donné.
  2. GetNextTripsForStop : Permet d’extraire les trois prochains trajets sur le circuit pour un numéro d’arrêt donné.
  3. GetNextTripsForStopAllRoutes : Permet d’extraire les trois prochains trajets sur tous les circuits pour un numéro d’arrêt donné.
  4. GTFS : Permet d’extraire les dossiers voulus de chacune des sections du GTFS.

Codes d’erreur

Code d’erreur Erreur Méthodes
1

Touche API invalide

All
2

Incapable d’interroger la source de données

10

Numéro d’arrêt invalide

GetRouteSummaryForStop

GetNextTripsForStop

GetNextTripsForStopAllRoutes

11

Numéro de circuit invalide

12

L’arrêt ne dessert pas ce circuit pour le moment

GetNextTripsForStop

GetNextTripsForStopAllRoutes

13 Aucun circuit à cet arrêt en tout temps

Type de véhicules

Tous les autobus d’OC Transpo et l’O-Train sont entièrement accessibles.

Code Description
4 ou 40 Autobus de 40 pieds
6 ou 60 Autobus de 60 pieds
4 et 6 Les trajets peuvent se faire avec des autobus de 60 ou de 40 pieds
DD Autobus à deux étages
B Supports pour bicyclettes
DEH Hybride diésel et électrique
IN INVIRO (type d’autobus)
ON ORION (type d’autobus)

Descriptions de méthode

1) GetRouteSummaryForStop

Permet d’extraire les circuits pour un numéro d’arrêt donné.

Base URL

https://api.octranspo1.com/v2.0/GetRouteSummaryForStop

Requête

https://api.octranspo1.com/v2.0/GetRouteSummaryForStop?appID={appID}&apiKey={apiKey}&stopNo={stopNo}&format={format}

Paramètres
Paramètre Requis Description
appID Oui Généré dans le portail de développement après l’inscription.
apiKey Oui Généré dans le portail de développement après l’inscription.
stopNo Oui Numéro d’arrêt à 4 chiffres affiché dans les arrêts d’autobus. Télécharger une liste complète des arrêts ici.
format Non Format des données retournées. JSON ou XML. Par défaut : JSON.

Réponse

Descriptions des champs
Nom du champ Type de valeur Description
StopNo chaîne Numéro d’arrêt d’autobus à 4 chiffres.
StopDescription chaîne Description de l’arrêt.
Error chaîne Codes d’erreur. Consulter la section des codes d’erreur pour des détails.
Route - RouteNo chaîne Numéro alphanumérique du circuit.
Route - DirectionID interger Identifiant de la direction du circuit.
Route - Direction chaîne Description de la direction du circuit.
Route - RouteHeading chaîne Direction du circuit.
Format de réponse
XML
Chargement en cours...

JSON
{
    GetRouteSummaryForStopResult: {
        StopNo: "chaîne",
        Error: "chaîne",
        StopDescription: "chaîne",
        Routes: {
            Route: [
                {
                    RouteNo: "chaîne",
                    RouteHeading: "chaîne",
                    Direction: "chaîne",
                    DirectionID: interger
                },
                {
                    RouteNo: "chaîne",
                    RouteHeading: "chaîne",
                    Direction: "chaîne",
                    DirectionID: chaîne
                }
            ]
        }
    }
}

Exemple de réponse
XML
Chargement en cours...

JSON
{
    GetRouteSummaryForStopResult: {
        StopNo: "3009",
        Error: "",
        StopDescription: "RIDEAU",
        Routes: {
            Route: [
                {
                    RouteNo: "1",
                    RouteHeading: "Blair",
                    Direction: "",
                    DirectionID: 0
                },
                {
                    RouteNo: "1",
                    RouteHeading: "Tunney's Pasture",
                    Direction: "",
                    DirectionID: 1
                },
                {
                    RouteNo: "9",
                    RouteHeading: "Hurdman",
                    Direction: "",
                    DirectionID: 1
                }
            ]
        }
    }
}

2) GetNextTripsForStop

Permet d’extraire les trois prochains trajets sur le circuit pour un numéro d’arrêt donné.

Base URL

https://api.octranspo1.com/v2.0/GetNextTripsForStop

Requête

https://api.octranspo1.com/v2.0/GetNextTripsForStop?appID={appID}&apiKey={apiKey}&stopNo={stopNo}&routeNo={routeNo}&format={format}

Paramètres
Paramètre Requis Description
appID Oui Généré dans le portail de développement après l’inscription.
apiKey Oui Généré dans le portail de développement après l’inscription.
stopNo Oui Numéro d’arrêt à 4 chiffres affiché dans les arrêts d’autobus. Télécharger une liste complète des arrêts ici.
routeNo Oui Numéro du circuit d’autobus.
format Non Format des données retournées. JSON ou XML. Par défaut : JSON.

Réponse

Descriptions des champs
Field Name Value Type Description
StopNo chaîne Numéro d’arrêt d’autobus à 4 chiffres.
StopLabel chaîne Description de l’arrêt.
Error chaîne

Codes d’erreur. Consulter la section des codes d’erreur pour des détails.

RouteDirection - RouteNo chaîne Numéro alphanumérique du circuit.
RouteDirection - RouteLabel chaîne Direction du circuit.
RouteDirection - Direction chaîne Description de la direction du circuit.
RouteDirection - Error chaîne

Codes d’erreur. Consulter la section des codes d’erreur pour des détails.

RouteDirection - RequestProcessingTime chaîne Temps de traitement de la requête de l’API.
Trip - Longitude chaîne Longitude.
Trip - Latitude chaîne Latitude.
Trip - GPSSpeed chaîne Cette valeur a été enlevée de l’API; une chaîne vide sera retournée.
Trip - TripDestination chaîne Direction du trajet.
Trip - TripStartTime chaîne Heure prévue de départ du trajet.
Trip - AdjustedScheduleTime chaîne Temps estimé avant l’arrivée du trajet à l’arrêt.
Trip - AdjustmentAge chaîne Temps depuis le rajustement de l’heure d’arrivée et de départ prévue en minutes et en fractions de minutes. Plus le chiffre est élevé, moins la valeur AdjustedScheduleTime est fiable. Si cette valeur est négative, c’est que AdjustedScheduleTime contient l’heure prévue.
Trip - LastTripOfSchedule booléen Dernier trajet de la journée.
Trip - BusType chaîne Type de véhicule. Consulter la section du type d’autobus pour des détails.
Format de réponse
XML
Chargement en cours...

JSON
{
    GetNextTripsForStopResult: {
        StopNo: "chaîne",
        StopLabel: "chaîne",
        Error: "chaîne",
        Route: {
            RouteDirection: [
                {
                    RouteNo: "chaîne",
                    RouteLabel: "chaîne",
                    Direction: "chaîne",
                    Error: "chaîne",
                    RequestProcessingTime: "chaîne",
                    Trips: {
                        Trip: [
                            {
                                Longitude: "chaîne",
                                Latitude: "chaîne",
                                GPSSpeed: "chaîne vide",
                                TripDestination: "chaîne",
                                TripStartTime: "chaîne",
                                AdjustedScheduleTime: "chaîne",
                                AdjustmentAge: "chaîne",
                                LastTripOfSchedule: booléen,
                                BusType: "chaîne"
                            },
                            {
                                Longitude: "chaîne",
                                Latitude: "chaîne",
                                GPSSpeed: "chaîne vide",
                                TripDestination: "chaîne",
                                TripStartTime: "chaîne",
                                AdjustedScheduleTime: "chaîne",
                                AdjustmentAge: "chaîne",
                                LastTripOfSchedule: booléen,
                                BusType: "chaîne"
                            },
                            {
                                Longitude: "chaîne",
                                Latitude: "chaîne",
                                GPSSpeed: "chaîne vide",
                                TripDestination: "chaîne",
                                TripStartTime: "chaîne",
                                AdjustedScheduleTime: "chaîne",
                                AdjustmentAge: "chaîne",
                                LastTripOfSchedule: booléen,
                                BusType: "chaîne"
                            }
                        ]
                    }
                },
                {
                    RouteNo: "chaîne",
                    RouteLabel: "chaîne",
                    ...
                }
            ]
        }
    }
}

Exemple de réponse
XML
Chargement en cours...

JSON
{
    GetNextTripsForStopResult: {
        StopNo: "3034",
        StopLabel: "BILLINGS BRIDGE",
        Error: "",
        Route: {
            RouteDirection: [
                {
                    RouteNo: "97",
                    RouteLabel: "Aéroport",
                    Direction: "",
                    Error: "",
                    RequestProcessingTime: "20201104112747",
                    Trips: {
                        Trip: [
                            {
                                Longitude: "-75.66520690917969",
                                Latitude: "45.412139892578125",
                                GPSSpeed: "",
                                TripDestination: "Aéroport",
                                TripStartTime: "11:36",
                                AdjustedScheduleTime: "13",
                                AdjustmentAge: "1",
                                LastTripOfSchedule: false,
                                BusType: ""
                            },
                            {
                                Longitude: "-75.73878479003906",
                                Latitude: "45.40216827392578",
                                GPSSpeed: "",
                                TripDestination: "Aéroport",
                                TripStartTime: "11:51",
                                AdjustedScheduleTime: "28",
                                AdjustmentAge: "1",
                                LastTripOfSchedule: false,
                                BusType: ""
                            },
                            {
                                Longitude: "",
                                Latitude: "",
                                GPSSpeed: "",
                                TripDestination: "Aéroport",
                                TripStartTime: "12:06",
                                AdjustedScheduleTime: "43",
                                AdjustmentAge: "-1",
                                LastTripOfSchedule: false,
                                BusType: ""
                            }
                        ]
                    }
                },
                {
                    RouteNo: "97",
                    RouteLabel: "Hurdman & N Rideau",
                    ...
                }
            ]
        }
    }
}

3) GetNextTripsForStopAllRoutes

Permet d’extraire les trois prochains trajets sur le circuit pour un numéro d’arrêt donné.

Base URL

https://api.octranspo1.com/v2.0/GetNextTripsForStopAllRoutes

Requête

https://api.octranspo1.com/v2.0/GetNextTripsForStopAllRoutes?appID={appID}&apiKey={apiKey}&stopNo={stopNo}&format={format}

Paramètres
Paramètre Requis Description
appID Oui Généré dans le portail de développement après l’inscription.
apiKey Oui Généré dans le portail de développement après l’inscription.
stopNo Oui Numéro d’arrêt à 4 chiffres affiché dans les arrêts d’autobus. Télécharger une liste complète des arrêts ici.
format Non Format of the returned data. JSON or XML. Default: JSON.

Réponse

Field Descriptions
Field Name Value Type Description
StopNo chaîne Numéro d’arrêt d’autobus à 4 chiffres.
StopDescription chaîne Description de l’arrêt.
Error chaîne Codes d’erreur. Consulter la section des codes d’erreur pour des détails.
Route - RouteNo chaîne Numéro alphanumérique du circuit.
Route - RouteHeading chaîne Direction du circuit.
Route - DirectionID interger Identifiant de la direction du circuit.
Route - Direction chaîne Description de la direction du circuit.
Trip - Longitude chaîne Longitude.
Trip - Latitude chaîne Latitude.
Trip - GPSSpeed chaîne Cette valeur a été enlevée de l’API; une chaîne vide sera retournée.
Trip - TripDestination chaîne Direction du trajet.
Trip - TripStartTime chaîne Heure prévue de départ du trajet.
Trip - AdjustedScheduleTime chaîne Temps estimé avant l’arrivée du trajet à l’arrêt.
Trip - AdjustmentAge chaîne Temps depuis le rajustement de l’heure d’arrivée et de départ prévue en minutes et en fractions de minutes. Plus le chiffre est élevé, moins la valeur AdjustedScheduleTime est fiable. Si cette valeur est négative, c’est que AdjustedScheduleTime contient l’heure prévue.
Trip - LastTripOfSchedule booléen Dernier trajet de la journée.
Trip - BusType chaîne Type de véhicule. Consulter la section du type d’autobus pour des détails.
Format de réponse
XML
Chargement en cours...

JSON
{
    GetRouteSummaryForStopResult: {
        StopNo: "chaîne",
        Error: "chaîne",
        StopDescription: "chaîne",
        Routes: {
            Route: [
                {
                    RouteNo: "chaîne",
                    RouteHeading: "chaîne",
                    DirectionID: interger,
                    Direction: "chaîne",
                    Trips: [
                        {
                            Longitude: "chaîne",
                            Latitude: "chaîne",
                            GPSSpeed: "chaîne vide",
                            TripDestination: "chaîne",
                            TripStartTime: "chaîne",
                            AdjustedScheduleTime: "chaîne",
                            AdjustmentAge: "chaîne",
                            LastTripOfSchedule: booléen,
                            BusType: "chaîne"
                        },
                        {
                            Longitude: "chaîne",
                            Latitude: "chaîne",
                            GPSSpeed: "chaîne vide",
                            TripDestination: "chaîne",
                            TripStartTime: "chaîne",
                            AdjustedScheduleTime: "chaîne",
                            AdjustmentAge: "chaîne",
                            LastTripOfSchedule: booléen,
                            BusType: "chaîne"
                        },
                        {
                            Longitude: "chaîne",
                            Latitude: "chaîne",
                            GPSSpeed: "chaîne vide",
                            TripDestination: "chaîne",
                            TripStartTime: "chaîne",
                            AdjustedScheduleTime: "chaîne",
                            AdjustmentAge: "chaîne",
                            LastTripOfSchedule: booléen,
                            BusType: "chaîne"
                        }
                    ]
                },
                {
                    RouteNo: "chaîne",
                    RouteHeading: "chaîne",
                    ...
                },
                {
                    RouteNo: "chaîne",
                    RouteHeading: "chaîne",
                    ...
                }
            ]
        }
    }
}

Exemple de réponse
XML
Chargement en cours...

JSON
{
    GetRouteSummaryForStopResult: {
        StopNo: "7633",
        Error: "",
        StopDescription: "HAWTHORNE / COLONEL BY",
        Routes: {
            Route: [
                {
                    RouteNo: "5",
                    RouteHeading: "Rideau",
                    DirectionID: 1,
                    Direction: "",
                    Trips: [
                        {
                            Longitude: "-75.67637802124024",
                            Latitude: "45.406397399902346",
                            GPSSpeed: "",
                            TripDestination: "Rideau",
                            TripStartTime: "11:01",
                            AdjustedScheduleTime: "1",
                            AdjustmentAge: "0",
                            LastTripOfSchedule: false,
                            BusType: ""
                        },
                        {
                            Longitude: "-75.67637802124024",
                            Latitude: "45.406397399902346",
                            GPSSpeed: "",
                            TripDestination: "Rideau",
                            TripStartTime: "12:01",
                            AdjustedScheduleTime: "53",
                            AdjustmentAge: "1",
                            LastTripOfSchedule: false,
                            BusType: ""
                        },
                        {
                            Longitude: "",
                            Latitude: "",
                            GPSSpeed: "",
                            TripDestination: "Rideau",
                            TripStartTime: "12:31",
                            AdjustedScheduleTime: "83",
                            AdjustmentAge: "-1",
                            LastTripOfSchedule: false,
                            BusType: ""
                        }
                    ]
                },
                {
                    RouteNo: "55",
                    RouteHeading: "Bayshore",
                    ...
                },
                {
                    RouteNo: "56",
                    RouteHeading: "Tunney's Pasture",
                    ...
                }
            ]
        }
    }
}

4) GTFS

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

Base URL

https://api.octranspo1.com/v2.0/Gtfs

Requête

https://api.octranspo1.com/v2.0/Gtfs?appID={appID}&apiKey={apiKey}&table={table}&id={id}&column={column}&value={value}&order_by={order_by}&direction={direction}&limit={limit}&format={format}

Paramètres
Paramètre Requis Description
appID Oui Généré dans le portail de développement après l’inscription.
apiKey Oui Généré dans le portail de développement après l’inscription.
table Oui Le tableau à interroger (liste de tableaux ci-dessous).
id Non Une rangée particulière du tableau par la valeur id.
column Non Une colonne particulière du tableau. L’utilisation d’une colonne exige l’utilisation du paramètre de valeur (liste de colonnes ci-dessous).
value Non* Une valeur précise dans une colonne. *Requis si la colonne est précisée.
order_by Non Préciser une colonne pour le tri.
direction Non Préciser la direction du tri des résultats. Ascendant ou descendant. Ascendant par défaut.
limit Non

Préciser un nombre maximum de résultats.

Format.

format Non Format des données retournées. JSON ou XML. Par défaut : JSON.
Requête du GTFS : Tableaux et colonnes
Tableau Colonnes 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 : Le tableau stops exige de préciser le stop_id, le stop_code ou les valeurs id.

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 : Le tableaustop_times exige de préciser le trip_id, le stop_id ou les valeurs id.

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 : Le tableau trips exige de préciser le route_id  ou les valeurs id.

Description en format XML

Chargement en cours...

GetRouteSummaryForStop

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

URL: https://api.octranspo1.com/v1.3/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.3/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.3/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>string</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
					<Route>
						<RouteNo>string</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

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>string</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/">GREENBORO STATION</StopDescription>
			<Error xmlns="http://tempuri.org/" />
			<Routes xmlns="http://tempuri.org/">
				<Route>
					<RouteNo>2</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>Bayview</RouteHeading>
				</Route>
				<Route>
					<RouteNo>2</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>R2</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>Bayview</RouteHeading>
				</Route>
				<Route>
					<RouteNo>R2</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>6</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>6</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>Rockcliffe</RouteHeading>
				</Route>
				<Route>
					<RouteNo>40</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>St-Laurent</RouteHeading>
				</Route>
				<Route>
					<RouteNo>40</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>87</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>87</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>Baseline</RouteHeading>
				</Route>
				<Route>
					<RouteNo>92</RouteNo>
					<DirectionId>0</DirectionId>
					<Direction>Southbound</Direction>
					<RouteHeading>Greenboro</RouteHeading>
				</Route>
				<Route>
					<RouteNo>92</RouteNo>
					<DirectionId>1</DirectionId>
					<Direction>Northbound</Direction>
					<RouteHeading>Hurdman</RouteHeading>
				</Route>
			</Routes>
			</GetRouteSummaryForStopResult>
		</GetRouteSummaryForStopResponse>
	</soap:Body>
</soap:Envelope>

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.3/GetNextTripsForStop

Parameters:

  1. appID: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  2. apiKey: Obligatoire. Généré dans le portail pour les développeurs après la création d’un compte.
  3. routeNo: Obligatoire. Numéro du circuit de l'autobus.
  4. 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.3/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>string</RouteNo>
						<DirectionID>int</DirectionID>
						<Direction>string</Direction>
						<RouteHeading>string</RouteHeading>
					</Route>
					<Route>
						<RouteNo>string</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>string</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-->
			<routeNo>string</routeNo>
			<!--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-- >
					<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>
<!--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/">GREENBORO STATION</StopLabel>
	<Error xmlns="http://tempuri.org/" />
	<Route xmlns="http://tempuri.org/">
		<RouteDirection>
			<RouteNo>97</RouteNo>
			<RouteLabel>Airport / Aéroport</RouteLabel>
			<Direction>Eastbound</Direction>
			<Error />
			<RequestProcessingTime>20190128143405</RequestProcessingTime>
			<Trips>
				<Trip>
					<TripDestination>Airport / Aéroport</TripDestination>
					<TripStartTime>13:59</TripStartTime>
					<AdjustedScheduleTime>2</AdjustedScheduleTime>
					<AdjustmentAge>0.55</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>4LA - DD</BusType>
					<Latitude>45.369028</Latitude>
					<Longitude>-75.667496</Longitude>
					<GPSSpeed>22.4</GPSSpeed>
				</Trip>
				<Trip>
					<TripDestination>South Keys</TripDestination>
					<TripStartTime>13:47</TripStartTime>
					<AdjustedScheduleTime>9</AdjustedScheduleTime>
					<AdjustmentAge>0.71</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6EB - 60</BusType>
					<Latitude>45.406349</Latitude>
					<Longitude>-75.664368</Longitude>
					<Speed>29.1</Speed>
				</Trip>
				<Trip>
					<TripDestination>Airport / Aéroport</TripDestination>
					<TripStartTime>14:14</TripStartTime>
					<AdjustedScheduleTime>20</AdjustedScheduleTime>
					<AdjustmentAge>0.40</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6LB - 60</BusType>
					<Latitude>45.424393</Latitude>
					<Longitude>-75.686963</Longitude>
					<GPSSpeed>28.0</GPSSpeed>
				</Trip>
			</Trips>
		</RouteDirection>
		<RouteDirection>
			<RouteNo>97</RouteNo>
			<RouteLabel>Bells Corners</RouteLabel>
			<Direction>Westbound</Direction>
			<Error />
			<RequestProcessingTime>20190128143405</RequestProcessingTime>
			<Trips>
				<Trip>
					<TripDestination>Bayshore</TripDestination>
					<TripStartTime>14:31</TripStartTime>
					<AdjustedScheduleTime>4</AdjustedScheduleTime>
					<AdjustmentAge>0.48</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6EB - 60</BusType>
					<Latitude>45.332706</Latitude>
					<Longitude>-75.651175</Longitude>
					<GPSSpeed>80.8</GPSSpeed>
				</Trip>
				<Trip>
					<TripDestination>Bells Corners</TripDestination>
					<TripStartTime>14:44</TripStartTime>
					<AdjustedScheduleTime>12</AdjustedScheduleTime>
					<AdjustmentAge>0.50</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>6EB - 60</BusType>
					<Latitude>45.349821</Latitude>
					<Longitude>-75.652247</Longitude>
					<Speed>0.5</Speed>
				</Trip>
				<Trip>
					<TripDestination>Bayshore</TripDestination>
					<TripStartTime>14:50</TripStartTime>
					<AdjustedScheduleTime>23</AdjustedScheduleTime>
					<AdjustmentAge>-1</AdjustmentAge>
					<LastTripOfSchedule>false</LastTripOfSchedule>
					<BusType>4LA - DD</BusType>
					<Latitude></Latitude>
					<Longitude></Longitude>
					<GPSSpeed></GPSSpeed>
				</Trip>
			</Trips>
		</RouteDirection>
	</Route>
</GetNextTripsForStopResult>
</GetNextTripsForStopResponse>
</soap:Body>
</soap:Envelope>

GetNextTripsForStopAllRoutes

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

URL : https://api.octranspo1.com/v1.3/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

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.3/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>string</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>string</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": "6",
                    "DirectionID": 1,
                    "Direction": "Northbound",
                    "RouteHeading": "Rockcliffe",
                    "Trips": [
                        {
                            "TripDestination": "Rockcliffe",
                            "TripStartTime": "13:37",
                            "AdjustedScheduleTime": "2",
                            "AdjustmentAge": "0.27",
                            "LastTripOfSchedule": false,
                            "BusType": "6EB - 60",
                            "Latitude": "45.396047",
                            "Longitude": "-75.684445",
                            "GPSSpeed": "38.9"
                        },
                        {
                            "TripDestination": "Rockcliffe",
                            "TripStartTime": "13:52",
                            "AdjustedScheduleTime": "14",
                            "AdjustmentAge": "0.32",
                            "LastTripOfSchedule": false,
                            "BusType": "6EB - 60",
                            "Latitude": "45.378260",
                            "Longitude": "-75.667399",
                            "GPSSpeed": "0.5"
                        },
                        {
                            "TripDestination": "Rockcliffe",
                            "TripStartTime": "14:07",
                            "AdjustedScheduleTime": "24",
                            "AdjustmentAge": "0.65",
                            "LastTripOfSchedule": false,
                            "BusType": "6EB - 60",
                            "Latitude": "45.351760",
                            "Longitude": "-75.654081",
                            "GPSSpeed": "53.4"
                        }
                    ]
                },
                {
                    "RouteNo": "7",
                    "DirectionID": 1,
                    "Direction": "Eastbound",
                    "RouteHeading": "St-Laurent",
                    "Trips": [
                        {
                            "TripDestination": "St-Laurent",
                            "TripStartTime": "14:03",
                            "AdjustedScheduleTime": "5",
                            "AdjustmentAge": "0.45",
                            "LastTripOfSchedule": false,
                            "BusType": "4E - DEH",
                            "Latitude": "45.391233",
                            "Longitude": "-75.690734",
                            "GPSSpeed": "35.7"
                        },
                        {
                            "TripDestination": "St-Laurent",
                            "TripStartTime": "14:18",
                            "AdjustedScheduleTime": "17",
                            "AdjustmentAge": "-1",
                            "LastTripOfSchedule": false,
                            "BusType": "4LA - DEH",
                            "Latitude": "",
                            "Longitude": "",
                            "GPSSpeed": ""
                        },
                        {
                            "TripDestination": "Brittany",
                            "TripStartTime": "14:30",
                            "AdjustedScheduleTime": "22",
                            "AdjustmentAge": "-1",
                            "LastTripOfSchedule": false,
                            "BusType": "4L - DEH",
                            "Latitude": "",
                            "Longitude": "",
                            "GPSSpeed": ""
                        }
                    ]
                }
            ]
        }
    }
}

General Transit Feed Specification (GTFS)

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

URL : https://api.octranspo1.com/v1.3/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.3/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": ""
        }
    ]
}
NOTE: stops table requires stop_id, stop_code or id values specified.
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"
        }
    ]
}
NOTE: stop_times table requires trip_id, stop_id or id values specified.
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"
        }
    ]
}
NOTE: trips table requires route_id or id values specified.

Description en format XML

<?xml version="1.0"?>
<Gtfs>
  <result id="[ID of record]">
    <[Column Name]>[Value]</[Column Name]>
    <[Column Name With Null Value] />
  </result>
</Gtfs>