Design considerations
When integrating multiple software systems, it is essential to create an efficient and resilient integration that can handle growth, while also following API call restrictions to uphold the performance of the entire application.
Certain Eptura endpoints have the potential to retrieve significant data with just one call. Making excessive calls to these endpoints can impact the performance of your production Eptura instance and could result in exceeding the allowed number of endpoint calls.
Best practice
We recommend the following best practices to reduce the number of requests to the Eptura API and stay within your rate limit:
- Cache results: While indefinite caching is not recommended due to data changes, caching API call results for limited periods, such as 24 hours, is acceptable.
- Make only necessary calls: Retrieve information essential to your application and avoid pre-loading data that users haven't requested.
- Tips for staying within rate limits:
- Review data necessity and endpoint call frequency.
- Store data locally where possible.
- Enable API calls only during business hours if practical.
Example A
Objective: A location has up to 100 rooms across multiple floors and you want your third-party app to show how many rooms are available.
Solution: Reduce the frequency of the calls to every 10 minutes and restrict calls to only business hours (9am to 6pm), bringing the call count to roughly 27,000 per week, which is within the weekly call limit.
This type of integration is known as ‘polling’ and in certain use cases is sufficient. However, as your Eptura system grows and more resources are added, scalability can be limited, especially when the number of resources is over 150.
Rate Limits
The number of API calls is restricted to the rate limits defined in your subscription packages. When the number of calls exceeds the permitted amount, the Eptura API will refuse any additional calls and send back an HTTP status code of 429 along with an error message stating that the rate limit has been surpassed.
The standard Eptura Starter package allows a maximum of 500 calls per minute or 100,000 calls per week.
Eptura Advanced and Power packages provide higher call limits per week but maintain the same per-minute maximum of 500 calls.
Learn more: Subscription packages
Summary of recommendations
Eptura recommends considering the following points when utilizing the API:
- Review the purpose of required data, the likelihood of a change to the data, and then limit endpoint call frequency.
- Store data locally.
- Utilize available notification services for better scalability and performance.
- Where possible, enable API calls only during business hours only.