Does the Acumatica connector count against the Shopify admin APIs rate limits for the Admin API, documented by Shopify?

  • 21 December 2020
  • 1 reply
  • 269 views

Userlevel 6
Badge +3
  • Acumatica Commerce Edition Team Lead
  • 208 replies

If it does, how does Acumatica throttle its use of the API? Will it use all available resources in the Shopify's “Leaky Bucket” or is this adjustable?


1 reply

Userlevel 6
Badge +3

Yes, our connector is based on Shopify API rate limits to access API data(for standard plan 2 calls/second, for Shopify plus plan 4 calls/second)

Based on Shopify's documentation, initialized Leaky Bucket is 40(Shopify plus is 80), and we are using Semaphore pattern to control API rate.

  1. Initialized Leaky Bucket as 40, initialize a Timer to release 2 calls per second, Timer will auto refill the Bucket.
  2. All API requests are waiting in a queue
  3. If current Bucket available calls greater than 0, allow sending API to Shopify; Otherwise system will put API requests on hold and wait for the Bucket available calls update(1. Based on another API response and Timer)
  4. Based on each API response result, update Bucket available calls and Bucket's capacity
  5. If system allows sending API to Shopify but Shopify reports the Bucket size is exceeded, system will wait for 0.5 second and re-try, the default attempt times is 1000, but user can change it in Web.Config file.
  6. If API token is shared with another system, our system will not be enable to get correct available calls info and it will have above issue.

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2022  Acumatica, Inc. All rights reserved