Zenoti uses rate limits to ensure faster API response times and to maintain overall stability. If we receive a large quantity of API call requests within a small period, those requests may be throttled.
For more information on Rate Limit Response Headers, click here.
This article consists of the following sections:
Reasons for Imposing Rate Limits
Zenoti imposes API rate limits to prevent our servers from overloading and to maintain a high quality of service. Rate limits enable a wider range of users to make API request calls by ensuring specific users or regions do not dominate concurrent connections to a server. This allows a larger number of users with more diverse needs to connect to a wider collection of servers, thereby increasing the user base support.
Strategies to Effectively Manage Rate Limits
To avoid reaching your rate limits, you must make only the essential requests that you require.
Here are a few strategies that can help you to reduce the number of requests and avoid getting rate limit exception responses:
Eliminate unnecessary API calls.
Are some of your requests receiving data items that are not used in your application? You can optimize your code to only fetch the data that your app requires.
Cache frequently used data.
You can cache data on the server or on the client by using DOM storage. You can also save relatively static information in a database or serialize it in a file.
For example, you can cache the list of services, therapists performing the services, and their pricing details for a service booking workflow.
Use Retry Logic.
You can implement Retry logic after a certain amount of time if you receive an API rate limit exception as a response.
For instance, Zenoti recommends that you verify the API responses after each API call you make. If you get an API rate limit exception, you must implement the Sleep option for some time and then try again.
You should include code that catches errors. If you ignore such API rate limit exception errors and continue to make requests, your app will not be able to recover in a graceful manner.
You can use the Retry-After header if you receive a 429 response for the back-off time. Alternatively, you can use metadata (included with all API responses) for your app’s API usage to dynamically control the app’s behavior.
Queue API requests.
To queue your API requests for effectively managing API rate limits, use any one of several cloud applications that are available in the market. Here are a few such cloud applications that you can try out:
Avail Higher Rate Limits
The standard applicable rate limit is 60 calls per minute. To opt for a higher-volume API rate limit, reach out to your Zenoti account manager and the relevant team will share the available add-on options with you.