Hello,
We’re your integrations partner Appcrual. We have some technical difficulty with one of FA users due to the number of client objects they have in the system. This user has more than 12,000 clients (objects) in the FA system. We do sync all the client (objects) to our side to provide easy purchase order creation system for FreeAgent users. The issue we’re having with this particular user is as follows:
-
Our system tries to sync client data and does so in batches of 100. This is a limit on your system to have 100 per page results on client endpoint.
-
As this user has 12000 clients - it quickly reaches a limit of requests we can make to your system in 1 minute. So then none of our clients can sync data.
We did some de-optimisation our side so that we don’t sync data asynchronously and this resolves this issue temporarily, but increase the load time for our clients.
We were wondering if it’s possible to increase page limit (currently 100) at your side on the API?
Any other suggestions on how to solve this are welcomed.
Kind regards,
Alex
Thanks for posting! I’ve passed on your feedback to the product manager from the API. We take requests like these seriously and hope to have feedback for you soon.
Cheers
Phil
Hello Alex.
Thanks for reaching out to us on this.
Can I ask for some more information as to the circumstances here? How often are you syncing data? Are there other users that you have that are anywhere near these limits? If this user already has 12000 contacts would it be correct to assume that this is likely to keep on increasing?
Regards,
Stu McEwan
Hi Stu,
Thanks for getting back to us so quickly!
When we sync data, we do use last_updated
field sorting to ensure we only sync out of date information. So usually it’s not that much data that is synced by users. The problem comes when a user is registered for the 1st time and we do need to sync all their data.
We did further investigation and found an issue on our side as well. With this fixed, we’re thinking of adding an X-Rate-Limit sleep when user encounter this error from the API, which will make them wait a bit longer for all data to sync (if they need to sync all data).
Allowing for an increase in page limit will still allow us to do fewer requests in such cases (e.g. 500 if specified). I presume this won’t affect your server load much. In any case, we intend on implementing our solution as well.
Regards,
Alex
Hey Alex.
Just dropping you a note to let you know we haven’t forgotten about you!
We’re having some internal discussions over our limits at the minute, and will let you know the outcomes.
Cheers
Stu McEwan
CS:API Product Manager