Data Sync Frequency

Learn how Alloy Unified API ensures data integrity.

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.

Pro Tip: 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 Webhooks12 Hour Polling
ShopifyQuickbooks
BigCommerceSalesforce CRM
WooCommerceZoho CRM
SquareSpaceMicrosoft 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 not
  • lastSuccessfulSynctime 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.