Skip to content

Latest commit

 

History

History
105 lines (75 loc) · 3.86 KB

README.md

File metadata and controls

105 lines (75 loc) · 3.86 KB

Description Build Status

Best Travelport Universal API wrapper ever ✈️ 🚞 🏨

Wrapper for Travelport Universal API. Read official docs for more information.

Travelport Universal API offers an array of travel content for air, hotel, car, and rail, including ancillaries (optional services). It also provides functionality to build complete traveler, agency, branch, and account profiles.

This package provides JSON/Promises interface for SOAP calls. Requires uAPI credentials to run.

Contents

Installation

Install package with npm install --save uapi-json.

Basic usage

This package exports an object with three service constructors.

const uAPI = rqeuire('uapi-json');

const AirService = uAPI.createAirService(settings);
const HotelService = uAPI.createHotelService(settings);
const UtilsService = uAPI.createUtilsService(settings);
const TerminalService = uAPI.createTerminalService(settings);

It also exports a set of error classes that help to check errors against them

const uAPI = require('uapi-json');

const settings = { auth: {username: 'USERNAME', password: 'PASSWORD'}};
const AirService = uAPI.createAirService(settings);

AirService.importPNR().catch((err) => {
  if (err instanceof uAPI.errors.Common.ValidationError) {
    console.log('Validation error occured');
  }
  if (err instanceof uAPI.errors.Request.RequestValidationError) {
    console.log('Validation error occured in request');
  }
  if (err instanceof uAPI.errors.Request.RequestValidationError.ParamsMissing) {
    console.log('Params are missing for request');
  }
});

As node-errors-helpers library is used for errors generating, we strongly reccomend you to tak a look at it. It also has several useful helpers to handle errors.

Settings

uAPI

Settings object

Param Type Default Description
auth Object <username, password, targetBranch> - See auth description below.
debug Number 0 Can be 0, 1, or 2.
production Boolean true Production variable is connected with production and pre-production environment. Can be true for production and false for pre-production. For more information read docs.
emulatePcc String - Optional. Used for TerminalService only. See TerminalService
timeout Number - Optional. Used for TerminalService only. See TerminalService

Auth object

username, password and targetBranch should be set in auth object and provided by Travelport.

There are 3 types of debug mode:

  • debug=0 - disabled any logs.
  • debug=1 - logging only request params, request xml and error if it's occurred.
  • debug=2 - same as 1 but also logging all response xml (due to lot of text to log).

Services

See the following services pages to take a detailed view

Contributing

Please visit CONTRIBUTING.md