What to poll
Plan your polling budget
Each key has 120 requests per 60 seconds, shared by every operation (see Rate limits). A budget for one integration could look like this:
Keep a margin for retries and for manual checks with the same key, or give each job its own key.
Good practices
- Filter by status to read only the orders or deliveries you are waiting for, instead of scanning everything.
- Remember what you saw. Store
orderIdwith its laststatusandversion, and fulfillments with their lastupdatedAt. Act only when they change. - Expect to see a change more than once, or late. Make your processing idempotent: handling the same status twice must be harmless.
- Read whole lists with
limit=200and follownextCursorto the end (see Pagination). - Do not overlap runs. Start the next poll only when the previous one has finished.
- Back off on
429. Wait forRetry-Afterbefore the next request.