Question

I wanted to tailor the application I am making which communicates with the quickbooks server and adds things like customers and check expenses and I wanted my application to be as efficient as possible regarding performance. For example, my intention was to have all customer additions (batch process) on one thread and all check expenses or bills (batch process) on another thread which is logically possible as the two procedures don't interfere and are not related to one another.

My question is would such a design approach be permissible by Intuit? I guess my concern is regarding any limitations on communication with their servers.

Was it helpful?

Solution

In the docs site, the following throttling policy is mentioned.

What are the throttling limits based on QB accounts, OAuth client, and RealmId at any given time?

EDIT Following line is not valid anymore. FAQ page is updated.

Apart from an upper limit set that ensures no more than 10 requests in progress at any given time;

EDIT

we have a throttling policy across all IDS apis to permit 500 requests/minute per AuthId and per RealmId. The policy permits 200 requests/minute per AuthId for reports endpoints.

Ref - https://developer.intuit.com/docs/0025_quickbooksapi/0058_faq

So, if you follow the above throttling limit then parallel processing using multiple threads is not an issue.

PN - You can't create multiple name entities ( ex - Vendor, Employee and Customer) using parallel threads. Service puts a lock across these 3 entities to ensure an unique name is getting used while creating a new entity.

Thanks

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top