Data Sync Frequency
Overview
Ensuring data from a 3rd Party App is always in sync with Alloy Alloy Unified API is no small feat. To solve this, Alloy Unified API syncs data in two ways: Webhooks and Polling.
Webhooks
By default, Alloy Unified API subscribes to all relevant webhooks as detailed in our architecture guide. For example, whenever an order is updated, deleted, or created in the Commerce API, the these events will be updated in real time and made available in our Alloy Unified API Cache.
Polling
Unfortunately, not all Third Party Apps support webhooks. Examples of apps that do not currently support webhooks include NetSuite, Salesforce CRM, Salesforce Commerce Cloud, etc. To ensure Alloy always maintains the most up-to-date information possible, Alloy Unified API performs polling jobs that automatically query for data changes. By default, Alloy Unified API polls for changes in data every 12 hours.
If 12 hours isn't enough for you, contact our sales team to request a faster polling frequency.
Dropped Webhooks
Unfortunately, webhooks aren't entirely 100% reliable. Webhooks get dropped for a variety of reasons. To remedy this, Alloy Unified API features in polling reconciliation on top of our existing webhook architecture. In other words, Alloy Unified API offers polling on top of existing webhooks to poll for dropped events so you can always remain confident data is in sync!
Frequency for each App
As noted above, not every app supports webhooks. The below chart outlines which apps offer realtime polling and which rely solely on polling.
Real-time Webhooks | 12 Hour Polling |
---|---|
Shopify | Quickbooks |
BigCommerce | Salesforce CRM |
WooCommerce | Zoho CRM |
SquareSpace | Microsoft Dynamics Business Central |
Microsoft Dynamics CRM | |
Amazon Seller Central | |
Salesforce CommerceCloud | |
eBay | |
Adobe Commerce (formerly Magento) | |
Xero | |
Hubspot | |
SAP S/4 HANA |
Sync Status
Each GET endpoint in Alloy Unified API returns a syncInfo
object in the response. This object contains:
syncDataType
the type of event that last updated the data. Typically a webhook topic.lastSyncSuccess
a boolean indicating if the last sync was successful or notlastSuccessfulSynctime
a date indicating the last time that the sync was successful
Wrapping Up
In this article, we learned how Alloy Unified API handles data changes and ensures data is always in sync.