[#730] Possibility to delay API request

Migrated from Redmine #730 | Author: Laurens Tilstra
Status: New | Priority: Immediate, there is BUG! | Created: 2021-07-05


We try to display the start time matrix for several events at once but we quickly ran into the issue of being rate-limited (your docs mention no more than 5 calls per second, or 2 concurrent). But during ours tests we found that even if we delay the individual calls by 0,5 seconds (or more, we’ve tried 2 or 3 seconds) we still run into the rate-limit although at that time no more than 2 (non-concurrent) calls are being made per second (with a total of 5 or 6).

On occasion (while making sure noone else can trigger calls) we’ll even hit the rate-limit after just 2 calls spaced atleast a second apart.

The response message we get is also kind of curious as it’s a several KB large HTML file with somewhere in there the text “There is a queue to make a booking.” from which we infer we’ve hit the rate-limit.

Is this the correct error message for the rate-limit? Or is something else going on?

Redmine Admin wrote:

this message is kind of exception from low level engine and API engine is not sued to generate it to save power. Message is correct of course, it appears with more than 10 requests per second to both API and booking site for common users. If you need higher limits we have Enterprise solution

Laurens Tilstra wrote:

Okay, how do I get a Enterprice solution?

Dmytro Shostak wrote:

Hello, Laurens, please book a call here with account manager for more information about the Enterprise solution. SimplyBook.me | Scheduling and Booking Website

Laurens Tilstra wrote:

You’re talking about the API AND Bookings site: Are those 10 requests per second towards simplybook also for the calendar sync option that’s currently on?

Redmine Admin wrote:

calendar sync option is not counted

Laurens Tilstra wrote:

We are still experiencing troubles with the API. We’ve tried to space the calls with atleast a second apart and made sure we we’re the only users making calls. The response message still is curious as it’s a several KB large HTML file with somewhere in there the text “There is a queue to make a booking.” from which we infer we’ve hit the rate-limit, which in itself is almost impossible. Do you have any advice?

Redmine Admin wrote:

which api endpoint you are using and what is link to your booking page?

Laurens Tilstra wrote:

Relevant endpoint calls go towards https://user-api.simplybook.me. And primarily the methods getToken(), getStartTimeMatrix() and confirmBooking() are being used as is recommended in the documentation. → API documentation | SimplyBook.me Online Scheduling

I don’t know exactly what you mean when you say booking page, this one → Escape Room 058 | Scheduling and Booking Website or a live testversion on our website → https://escaperoom058.nl/testreservering/

Redmine Admin wrote:

please use https://user-api.simplybook.it endpoint, it should solve your problem