After a merchant shares their data with you, a new Connection is created. There are multiple stages for each connection.
As soon as the connection is established, Rutter pulls data from all available endpoints (based on allowed scopes). Depending on the size of the store, this might finish instantly or in a few hours. During the initial download, Rutter optimizes fetching for each platform based on the maximum rate-limit.
If you try to fetch data from Rutter at this stage, you will receive a PRODUCT_NOT_READY error.
When the connection is ready, you will receive a INITIAL_UPDATE webhook.
By default, the the initial download attempts to synchronize all historical data for a merchant so you have full access to the data once the
INITIAL_UPDATE webhook is fired. However, if you need to fetch a subset of data faster (e.g. 3 months of orders), our support team can configure your
INITIAL_UPDATE webhook to fire earlier.
INITIAL_UPDATE webhook is fired, Rutter will then attempt to synchronize the rest of the merchant's historical data, and a HISTORICAL_UPDATE webhook will be fired once that is complete. You will continue to be able to fetch data while the historical download completes.
After the initial & historical synchronization is finished, Rutter subscribes to all available webhooks and regularly polls the merchant's platform to keep data synchronized.