Tamr’s event-driven notification system enables you to keep all of your systems up to date with the golden records in the Tamr System of Record (SOR).
Tamr can publish notifications for these logical record events to a user-specified endpoint (a webhook):
- Create golden record
- Update golden record
- Delete golden record
- Merge golden record
- Unmerge golden record
- Enrich golden record
For golden record merge actions, an UPDATE event is published to update the data in the surviving golden record. A DELETE event is sent for the retired golden record. These two physical events are grouped together as one logical event by the same versionId value. They are ordered by two different values for recordNumber.
For golden record unmerge actions, an UPDATE event is published to update the data in the surviving golden record. A CREATE event is sent for the previously retired (resurrected) record golden record. These two physical events are grouped together as one logical event by the same versionId value. They are ordered by two different values for recordNumber.
See record events for additional record event payload examples.
| Logical Action
|
Webhook Record Event
|
|
|
versionId
|
changeType
|
recordNumber
|
newData
|
| Create Record
|
12355
|
CREATE
|
0
|
The record data of the created record.
|
| Update Record
|
23435
|
UPDATE
|
0
|
The new record data resulting from the update record action.
|
| Delete Record
|
33256
|
DELETE
|
0
|
Empty object.
|
| Merge Record
|
44566
|
UPDATE
|
0
|
The new record data of the surviving record.
|
| DELETE
|
1
|
Empty object. The retiring record has been deleted.
|
| Unmerge Record
|
54536
|
UPDATE
|
0
|
The new record data of the retained record.
|
| CREATE
|
1
|
The new record data of the resurrected record.
|
Duplicate record events may be received when:
- A user replays record events. A user can log into Tamr and replay record events for any time period. This time period may overlap with events already received by the webhook service.
- Tamr retries sending a message to a webhook service when the service is experiencing intermittent timeouts or interrupts. By design, Tamr supports at-least-once delivery of an event. This means that the same event may be delivered more than once, as the webhook service may eventually succeed in processing a timed-out event that had already re-sent.
A record event is uniquely identified by the composite key: tableId, recordId, versionId, recordNumber. The composite of these four fields uniquely identifies changes to golden records in Tamr’s System of Record.
The webhook service must process duplicates on this key idempotently. For example, in the use case of maintaining an up-to-date copy of the current golden records in Tamr, receiving a new message with a duplicate key value for tableId, recordId, versionId, recordNumber should result in a no-op on the copy of the records.