Hi guys, I’m syncing orders from a Retail store (Shopify POS) to an Online store to provide customers with a unified order history. I’m using GCP with a queueing system for the middleware. We are maintaining two separate stores because our preferred payment gateway does not support native POS integration yet.
Quick questions:
-
For a Standard plan , can you confirm the REST Admin API limit is strictly 2 requests per second (leaky bucket)? Also, what are the exact limits for Advanced and Plus plans? Maybe it’s better idea to use GraphQL (but what is the limit here)?
-
Are there any known pitfalls or red flags when creating orders via API with financial_status: paid to represent transactions that were already processed via an external POS/gateway?
Thanks!
1 Like
Hey @lynthius,
For high-volume order syncing, I’d recommend GraphQL over REST. GraphQL uses cost-based rate limiting (you only pay for the fields you request), supports bulk operations for async processing, and can fetch/update orders plus related data in a single request. Also worth noting: REST Admin API is legacy as of October 2024.
When using orderCreate with financialStatus: PAID, you should include a transactions array with kind: SALE and status: SUCCESS to record the external transaction details. While you can technically set the status to paid without transactions, you’ll lose the transaction history (which matters for record-keeping and reporting).
API rate limits documentation | REST to GraphQL migration guide
Thanks, I’ve read up on it a bit, and now I know how to do it. Thanks again for your help, I’ll definitely use GraphQL.
1 Like