Impala API Javascript SDK
A port of https://github.com/GetImpala/impala-php
Installation
It's as simple as:
$ npm i @rpallas/impala-js
Tests
To run the tests you can run the following commands:
$ npm i
$ npm test
Obtaining an API key
To use this library, you will need an Impala API key. More information can be found in the 'Getting Started' section of the Impala developer documentation.
Getting Started
After installation, you can create an impala client like this:
const ImpalaSDK = require('@rpallas/impala-js')
const impala = ImpalaSDK.create('api-key');
Working with a single hotel
If your application will only be dealing with a single hotel at a time, you can instantiate the Impala API like this:
const hotel = ImpalaSDK.create('api-key', 'hotelId');
Working with multiple hotels
If your application will be dealing with multiple hotels, you can omit the hotelId
parameter, like so:
const impala = ImpalaSDK.create('api-key');
// You can then pass the hotelId directly to the method
await impala.getBookings({hotelId: 'hotelId'});
// Or with extra parameters
await impala.getBookings({
hotelId: 'hotelId',
startDate: '2018-02-03',
endDate: '2018-02-05'
});
// Or, you can call getHotel to return a single-hotel API instance
const hotel = impala.getHotel('hotelId')
// You can then call the API methods like normal
await hotel.getBookings();
Making API calls
API methods accept an object as their first argument, containing the parameters for the API call. This can be omitted if there are no arguments to set.
API methods that take an ID have the ID as the first argument.
API methods that update a resource take the object representation of a JSON merge patch as their second argument.
For example:
const ImpalaSDK = require('@rpallas/impala-js')
const impala = impalaSDK.create('api-key');
const hotel = impala.getHotel('hotelId')
await hotel.updateBookingById('bookingId', { start: 123456, roomIds: ['abc', 'cde']})