Hotelbeds Developer Portal Developer Blog

APItude basics: Where to start

One of the trending philosophies in the API world is the openness of APIs and to make them approachable for everyone. Of course, some knowledge is always needed to start, but there are some things that are often left unsaid or that people in the industry leave out because they feel it is implicit.

To address this and to avoid questions for the people interested in APItude we are starting a series of articles covering from the first steps in a integration to best practices and detailed reviews of the APItude methods and operations.

As the first chapter in this series, we will begin covering some initial questions and very basic concepts that need to be clear when integrating APItude, so let's begin:

What is an API?

API is the acronym for Application Programming Interface. Out there you can find lots of definitions for what an API is, but basically an API is the gateway developers use to access data from an external source. In this context we can further define the concept of API as an interface that allow communication through the Internet via requests (ideally as authenticated requests) and responses formatted as XML or JSON that users can use on their own applications.

What is an integration?

An integration is the piece of software that links two different systems, allowing them communicate with each other and to work seamlessly as one. It acts as a translator and permits to avoid issues like different languages or different database structures that in other circumstances would make systems incompatible.

Among other things, an integration allows:

  • Efficient inventory management
  • Maximize distribution
  • Increase operational savings

Whether you are an online travel agency or an IT supplier for one, developing an integration is the keystone to work with APItude and exploit all of its capabilities.

Ok, so I need an integration to use APitude. Where do I start?

Before starting the actual development of the integration we advise to carefully analyze all of APItude APIs. You can review it's capabilities, details and options in our developer portal, and test the booking flow from out postman collections. During this phase you can define the requeriments for the development (i.e.: if you need a new database).

Once you have analyzed our APIs and devised a development plan you can start development. We strongly recommend to begin the development integrating the ContentAPI because the static information is returned exclusively from ContentAPI and surely you will need to show some of this data through the booking process. You can find all information of ContentAPI at the ContentAPI section of the portal.

And what about the BookingAPI?

BookingAPI is the main API of APItude, so by no means it's less important than ContentAPI. After all, is the API that does the actual reservations, so when analyzing you must take into account our booking flow to compare it with yours and map each of your booking step operations with ours.

If you have the resources to do it, you can develop the integration for both ContentAPI and BookingAPI at the same time.

Bear in mind the BookingAPI booking flow when analyzing and planning your development.

How do I develop the integration?

Developing an integration is not difficult, but that doesn't mean it doesn't require some work and it depends on various factors such as:

  • The type of database you are using.
  • How many APItude features you support or want to offer.
  • The nature of your application (website, mobile app, booking engine...) and if it's oriented to final clients.
  • If you are going to track all reservations in your system.

This factors, that should have been identified during the analysis phase, have great impact on the development of the integration. A good way to reduce time in the development is take advantage of our Software Developer Kit or SDK. This are available for Java, .NET and PHP. This should be useful for any developer team integrating APItude.

Are this all the languages I can develop with?

No, you can use any programming language you wish, but currently our SDKs only cover this three. We are developing a Python SDK to be released in 2018.

Anything else I should know?

This is all for now, but stay tuned because on future blog entries we will continue reviewing different aspects of the use of APItude and best practices when developing.