Revolugo Booking API Client
The Revolugo Booking API Client provides convenient access to the Revolugo Booking API from
applications written in server-side JavaScript or for browser based applications. This client exposes Typescript types.
See the Revolugo Booking API documentation.
## Getting Started
### Import & Configure
```js
import { ApiClient } from '@revolugo/booking-api-client'
const revolugoApiClient = new ApiClient({
apiEnvironment: Revolugo.Environment.LIVE,
apiKey: '<public-or-private-api-key-here>',
apiVersion: 'v1',
})
Configuration
| Option | Default | Description |
| ---------------- | -------- | ------------------------------------------------------------ | -------------------- | -------- | -------- | ---------------------------------------------- |
| apiEnvironment
| Required | Target environment for the client (Environment.PRODUCTION \ | Environment.SANDBOX) | apiKey
| Required | Public or Private Api Key provided by Revolugo |
| apiVersion
| Required | Api version |
Usage
See the Revolugo Booking API documentation for details about request/reponse data.
const hotelOfferRequest = await revolugoApiClient.hotelOfferRequests.create({
adult_count: 5,
check_in_date: '2021-05-30',
check_out_date: '2021-06-02',
children: '2,8',
latitude: 45.76405021831942,
longitude: 4.835700988769532,
room_count: 3,
source_market: 'FR',
})
Polling
Some endpoints require polling to get the complete result. Polling is already handled by the library:
revolugoApiClient.hotelOffers.list(
{
currency: HotelOffersCurrencyEnum.Eur,
hotelOfferRequestId: 'xxxx-xxxx-xxxx-xxxx-xxxx',
},
(err, result) => {
if (err) {
console.log('Error while Polling')
handleError(err)
return
}
if (result.meta.status === 'in-progress') {
console.log('Still Polling')
doSomething(result)
} else {
console.log('Done Polling')
doSomethingElse(result)
}
},
)