metlink-api-http-client
v1.0.2
Published
HTTP Client for Metlink Wellington API
Downloads
3
Maintainers
Readme
Metlink API HTTP Client (Wellington, New Zealand)
https://opendata.metlink.org.nz/
Install
--
How to use
Example
Look
example.ts
Host
https://api.opendata.metlink.org.nz/v1
Init
Client
import { MetlinkHttpClientInterface } from './Contracts'
import { MetlinkHttpClientBuilder } from './MetlinkHttpClientBuilder'
const options = {
timeout: 1000,
}
const metlinkHttpClient: MetlinkHttpClientInterface =
MetlinkHttpClientBuilder.buildWithAxios(
token,
options,
function (axios: AxiosInstance) {
axios.interceptors.response.use(
function (response) {
return response
},
function (error) {
return Promise.reject(error)
}
)
}
)
OR
import { MetlinkHttpClientInterface } from './Contracts'
import { MetlinkHttpClientBuilder } from './MetlinkHttpClientBuilder'
const options = {
timeout: 1000,
}
const metlinkHttpClient: MetlinkHttpClientInterface =
MetlinkHttpClientBuilder.buildWithAxiosAndDecorate(
token,
options,
function (axios: AxiosInstance) {
axios.interceptors.response.use(
function (response) {
return response
},
function (error) {
return Promise.reject(error)
}
)
}
)
Wrapped response body
const metlinkHttpClient = new ResponseDataDecorator(httpClient)
Tests
Config with env
.jest/setEnvVars
Use
TOKEN_FILE=.token jest tests
Unresolved issues:
- GTFS-RT: Service Alerts: Validation Scheme issue
- GTFS-RT: Trip Updates: Validation Scheme issue
API
GTFS
Agencies
Transit agencies with service represented in this dataset.
metlinkHttpClient.getGtfsAgencies()
Calendars
Service dates specified using a weekly schedule with start and end dates.
metlinkHttpClient.getGtfsCalendar()
Calendar Dates
Exceptions for the services defined in the calendar.
metlinkHttpClient.getGtfsCalendarDates()
Feed info
Dataset metadata, including publisher, version, and expiration information.
metlinkHttpClient.getGtfsFeedInfo()
Routes
Transit routes. A route is a group of trips that are displayed to riders as a single service.
metlinkHttpClient.getGtfsRoutes()
Shapes
Rules for mapping vehicle travel paths, sometimes referred to as route alignments.
metlinkHttpClient.getGtfsShapes('shapeId')
Stop Times
Times that a vehicle arrives at and departs from stops for each trip.
metlinkHttpClient.getGtfsStopTimes('tripId')
Stops
Stops where vehicles pick up or drop off riders. Also defines stations and station entrances.
metlinkHttpClient.getGtfsStops()
Transfers
Rules for making connections at transfer points between routes.
metlinkHttpClient.getGtfsTransfers()
Trips
Trips for each route. A trip is a sequence of two or more stops that occur during a specific time period.
metlinkHttpClient.getGtfsTrips(
'start',
'extraFields',
'routeId',
'tripId',
'end'
)
GTFS-RT
Service Alerts
Information about unforeseen events affecting routes, stops, or the network. Use accept header 'application/x-protobuf' to receive in Protobuf format.
metlinkHttpClient.getGtfsServiceAlerts()
Trip Updates
Delays, cancellations, changed routes. Use accept header 'application/x-protobuf' to receive in Protobuf format.
metlinkHttpClient.getGtfsRtTripUpdates()
Vehicle Positions
Information about vehicles including location. Use accept header 'application/x-protobuf' to receive in Protobuf format.
metlinkHttpClient.getGtfsRtVehiclePositions()
Other
Stop Departure Predictions
Predictions for when vehicles will arrive and depart through stops.
metlinkHttpClient.getStopPredictions('stopId')
Trip Cancellations
Historical, current, and known future data for trip cancellations.
const query: Query = new Query()
query.dateCreated = Date.now().toString()
metlinkHttpClient.getTripCancellation(query)