trust-my-travel-legacy
TypeScript icon, indicating that this package has built-in type declarations

1.5.6 • Public • Published

Trust My Travel: Legacy API SDK

Built with typescript version dependants license

This is an unofficial node SDK for the Trust My Travel legacy API.

All types correspond to the official docs, with the exception of Booleans which are given as strings for the most part in the API (i.e. "true" rather than TRUE), but have been typecast to Booleans in this module.

Note: The TMT API has timeout issues, where it can take over 10 seconds to respond. We recommend setting a timeout of +20 seconds for any code that uses this.

Quickstart

Core functionality works as follows:

import TrustMyTravel from 'trust-my-travel-legacy';

async function example() {
  // Initialise the client
  const client = new TrustMyTravel({
    username: 'username',
    password: 'password',
    live: true,
  });

  // Test your connection - useful for unit testing (throws an error if it fails)
  const testResult = await client.testConnection();

  // Take a payment
  const paymentInput: PaymentParameters = {
    firstname: 'Donald',
    //... Full types are fully documented with JS Doc
  };
  const paymentResult = await client.takePayment(paymentInput);

  // Refund
  const refundInput: RefundParameters = {
    booking_id: 123,
    // ...
  };
  const refundResult = await client.refund(refund);
}

Testing

Integration tests are run using pupeteer to get tokens from Spreedly. To run locally you must set the following environmental variables:

export TRUST_MY_TRAVEL_STAGING_USERNAME="your_staging_username"
export TRUST_MY_TRAVEL_STAGING_PASSWORD="your_staging_password"

Checklist

CD Feature Provided
Typescript
Linting (AirBnB + Prettier)
Unit & Integration tests (Jest)
100% Coverage check (100% not possible given pupeteer limitations)
Github Continuous Deployment

Built by Skyhook

This module is contributed by the team at Skyhook.

Package Sidebar

Install

npm i trust-my-travel-legacy

Weekly Downloads

13

Version

1.5.6

License

MIT

Unpacked Size

36.6 kB

Total Files

9

Last publish

Collaborators

  • alan-cooney