UNPKG

@revolugo/booking-api-client

Version:

Javascript Revolugo Booking API Client (browser + server)

77 lines (58 loc) 2.24 kB
# 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](https://booking-api.revolugo.com/v1/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](https://booking-api.revolugo.com/v1/documentation) for details about request/reponse data. ```js 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: ```js 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) } }, ) ```