Introduction
Calry’s unified API aggregates data from multiple PMS integrations, normalize that data across them, manage authentication and authorization, consistently access that data via API, and sync the data continuously.
We'll walk through the following 4 key aspects of how our API works:
- Normalization: How data is mapped across each integration
- Authentication and Authorization: How integrations are set up
- Access: How data is retrieved from Calry API
- Syncing: How the Calry API keeps data up-to-date
Normalization: Creating a Common Data Language
One of the core challenges in integrating multiple PMS platforms is the variance in data formats, objects, and fields. Calry’s Unified Data Model addresses this by normalizing data across all integrations, ensuring that regardless of the source system, the data is presented in a consistent, standardized format. This normalization process includes aligning different data types, enums, and object relationships, making it easier for developers to work with the data without needing to understand the intricacies of each PMS's API.
Authentication and Authorization: Streamlining Access
Setting up integrations with multiple PMS platforms traditionally involves navigating a complex web of authentication and authorization mechanisms. Calry’s Link provides pre-built front-end components to collect the authentication credentials and handles token management for you at the back, providing a seamless authentication experience for your end-users. Calry provides OAuth2 flow for the PMSs that support OAuth.
Access: Unified Data Retrieval
Standardising APIs of multiple PMSs takes many forms, including a common set of:
- API endpoints: Calry APIs present one set of endpoints to access rather than needing to interact with each API individually.
- API request and response structure: Calry API endpoints are typically built to conform to a REST model, whereas underlying APIs may have a variety of structures, including SOAP.
For ex: Escapia has XML SOAP response, while Guesty has REST APIs. - API methods: Calry APIs standardize GET, POST, and PATCH methods to ensure that interacting with data can be accomplished with the same requests and responses tailored to your use-cases, regardless of underlying API.
- Pagination: Calry APIs apply a standard pagination, whereas underlying APIs may have a variety of pagination approaches, page sizes, and ordering.
- Error handling: Calry APIs apply a standard set of error codes and responses so you can easily distinguish issues that otherwise are handled differently by each underlying API.
Syncing: How Data is Refreshed
Calry APIs don’t just standardise data structure and access methods, they also sync the data for you. Let’s see how this works:
- Calry APIs make API requests on behalf of your customers for each of their configured PMS integrations.
- For data models like Availability and Prices, you can access real-time data directly via our API whenever the user needs them. For ex: use-cases of Booking Website and upselling rooms.
- For the rest, Custom Sync frequencies can be defined for each model and PMS in a manner that avoids rate limits. Default sync will be triggered immediately on the integration being authenticated, and when a re-sync is manually triggered.
- Calry API diffs the data received with the prior state of the data to notify your app of changes and updates. You can subscribe to our webhooks that notify you of these changes, and take action right away like retrieving the data via our API.
With Calry syncing data on behalf of you, you’ll be able to tap into constantly updated data. You don’t need to run infrastructure to do data polling or transform the data. This is a huge win for your engineering productivity and infrastructure budget.