That is the expected behavior for the catalog webhook. This webhook sends a notification any time any catalog object is created, updated, or deleted.
For catalog.version.updated
notifications, the data
field includes a timestamp indicating when the catalog was last updated. When you receive a catalog.version.updated
notification, call the SearchCatalogObjects endpoint and set the begin_time
field to the timestamp of the last time you synced your catalog. This retrieves all the CatalogObjects updated after the timestamp listed in begin_time
.
You should store the latest_time
value returned by the SearchCatalogObjects
endpoint, so you can use it in your next call to SearchCatalogObjects
. Using a locally generated timestamp might cause you to miss updates as a result of time skew between the Square server and your application.