Breaking Change | Ecommerce Bridge API sync status logic is changing
The Ecommerce Bridge API has an upcoming change to the Check the sync status of an object endpoint and how it can be used to check for errors.
What’s changing?
The Ecommerce Bridge API includes the Check the sync status of an object endpoint which is used to check if a CRM object (Contact, Deal, Product, Line Item) has synced successfully from a connected external ecommerce store to a HubSpot account.
The response returned includes a timestamp of the last time the object was processed and an errors array:
Example response:
{
"storeId": "example-store",
"objectType": "CONTACT",
"externalObjectId": "101"
"hubspotId": 5101
"lastProcessedAt": 1527609737137,
"errors": []
}
If an error has occurred with a sync object, it will appear in the errors array in the response and an erroredAt field will be present. It’s important to note that the errors array does not empty out if the last sync update was a success. As a result of this functionality, we made the recommendation to check if an error is relevant to the latest update by comparing the erroredAt timestamp to the lastProcessedAt timestamp.
However, we have recently identified some edge cases where this comparison pattern is not obeyed. Going forward, instead of comparing the erroredAt and lastProcessedAt timestamps to identify an error, developers should now just check for equality.
So if both timestamps are equal, this will confirm that an error has occurred during the sync.
What this means for developers:
If an integration is checking if the erroredAt timestamp > (greater than) lastProcessedAt timestamp to identify a sync error then you will need to make the necessary engineering changes to switch to checking for equality. In the future if the lastProcessedAt timestamp = erroredAt timestamp this will confirm that an error has occurred during the ecommerce sync.
When is this change happening?
As this is a breaking change we will be giving our developer community 90 days notice to prepare and make the necessary engineering changes to adapt integrations to work with the new functionality.
This change will go live on August 4, 2021.
Please let us know if you have any feedback or questions by joining the conversation in the community.