10.2.1 • Published 5 years ago

transport_for_nsw_api v10.2.1

Weekly downloads
2
License
Unlicense
Repository
-
Last release
5 years ago

transport_for_nsw_api

TransportForNswApi - JavaScript client for transport_for_nsw_api API to interact with the Transport for NSW trip planner. This allows users to search for trips, stops, service alerts, places of interest. 1. Stop Finder API: Provides capability to return all NSW public transport stop, station, wharf, points of interest and known addresses to be used for auto-suggest/auto-complete (to be used with the Trip planner and Departure board APIs). 2. Trip Planner API: Provides capability to provide NSW public transport trip plan options, including walking and driving legs, real-time and Opal fare information. 3. Departure API: Provides capability to provide NSW public transport departure information from a stop, station or wharf including real-time. 4. Service Alert API: Provides capability to display all public transport service status and incident information (as published from the Incident Capture System). 5. Coordinate Request API: When given a specific geographical location, this API finds public transport stops, stations, wharfs and points of interest around that location. This SDK is automatically generated by the Swagger Codegen project:

  • API version: 10.2.1.42
  • Package version: 10.2.1.42
  • Build package: io.swagger.codegen.languages.JavascriptClientCodegen

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install transport_for_nsw_api --save
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

Finally, switch to the directory you want to use your transport_for_nsw_api from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

You should now be able to require('transport_for_nsw_api') in javascript files from the directory you ran the last command above from.

git

If the library is hosted at a git repository, e.g. https://github.com/YOUR_USERNAME/transport_for_nsw_api then install it via:

    npm install YOUR_USERNAME/transport_for_nsw_api --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var TransportForNswApi = require('transport_for_nsw_api');

var defaultClient = TransportForNswApi.ApiClient.instance;

// Configure OAuth2 access token for authorization: tfnsw_auth
var tfnsw_auth = defaultClient.authentications['tfnsw_auth'];
tfnsw_auth.accessToken = "YOUR ACCESS TOKEN"

var api = new TransportForNswApi.DefaultApi()

var outputFormat = "outputFormat_example"; // {String} Used to set the response data type. This documentation only covers responses that use the JSON format. Setting the `outputFormat` value to `rapidJSON` is required to enable JSON output. 

var opts = { 
  'filterDateValid': "01-10-2016", // {String} This parameter allows you to filter the returned items that are only valid on the specified date. The format of this field is `DD-MM-YYYY`. For example, 12 September 2016 would be represented by `12-09-2016`. 
  'filterMOTType': 56, // {Number} This parameter allows you to filter the returned items by the modes of transport they affected. Available modes include:  * `1`: Train * `4`: Light Rail * `5`: Bus * `7`: Coach * `9`: Ferry * `11`: School Bus  To search for more than one mode, include the parameter multiple times. 
  'filterPublicationStatus': "filterPublicationStatus_example", // {String} This field can be used so only current alerts are returned, and not historic alerts. 
  'itdLPxxSelStop': "itdLPxxSelStop_example", // {String} This parameter allows you to filter the returned items by its stop ID. For example, to retrieve items that are only relevant to Central Station, you would set this value to `10111010`. You can use the `stop_finder` API call to determine the ID for a particular stop. 
  'itdLPxxSelLine': "itdLPxxSelLine_example", // {String} This parameter allows you to filter the returned items by line number. For example, `020T1`. You can use this parameter multiple times if you want to search for more than one line number. 
  'itdLPxxSelOperator': "itdLPxxSelOperator_example", // {String} This parameter allows you to filter the returned items by operator ID. You can use this parameter multiple times if you want to search for more than one line number. 
  'filterPNLineDir': "filterPNLineDir_example", // {String} This parameter allows you to filter the returned items by specific routes. The route is provided in the format `NNN:LLLLL:D`, (NNN: subnet, LLLLL: Route number, D: direction `H`/`R`). You can use this parameter multiple times if you want to search for more than one line number. 
  'filterPNLineSub': "filterPNLineSub_example", // {String} This parameter allows you to filter the returned items by specific routes. The route is provided in the format `NNN:LLLLL:E`, (NNN: subnet, LLLLL: Route number, E: supplement). You can use this parameter multiple times if you want to search for more than one line number. 
  'version': "10.2.1.42" // {String} Indicates which version of the API the caller is expecting for both request and response data. Note that if this version differs from the version listed above then the returned data may not be as expected. 
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.tfnswAddinfoRequest(outputFormat, opts, callback);

Documentation for API Endpoints

All URIs are relative to https://api.transport.nsw.gov.au/v1/tp

ClassMethodHTTP requestDescription
TransportForNswApi.DefaultApitfnswAddinfoRequestGET /add_infoProvides capability to display all public transport service status and incident information (as published from the Incident Capture System).
TransportForNswApi.DefaultApitfnswCoordRequestGET /coordWhen given a specific geographical location, this API finds public transport stops, stations, wharfs and points of interest around that location.
TransportForNswApi.DefaultApitfnswDmRequestGET /departure_monProvides capability to provide NSW public transport departure information from a stop, station or wharf including real-time.
TransportForNswApi.DefaultApitfnswStopfinderRequestGET /stop_finderProvides capability to return all NSW public transport stop, station, wharf, points of interest and known addresses to be used for auto-suggest/auto-complete (to be used with the Trip planner and Departure board APIs).
TransportForNswApi.DefaultApitfnswTripRequest2GET /tripProvides capability to provide NSW public transport trip plan options, including walking and driving legs, real-time and Opal fare information.

Documentation for Models

Documentation for Authorization

tfnsw_auth

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
    • read: Grants read-access to the five API calls.