Event Notifications
  • 13 May 2024
  • 1 Minute to read
  • Contributors
  • Dark
    Light

Event Notifications

  • Dark
    Light

Article summary

Event Notifications

This document serves as a guide for merchants intending to consume event notifications. It provides instructions on subscribing to events, understanding the limitations of the notification service, and links to further information on the available destinations/events.

How it works

The notification service has the following properties:

  1. Eventually Consistent: Events within our system maintain an eventual consistency model, ensuring that data updates eventually propagate across the network.

  2. At Least Once Delivery: Guaranteed sending of events to subscribers, ensuring merchants receive event notifications at least once. An endpoint may receive the same event more than once, and should de-duplicate by checking the event ID.

  3. Non-Retry: Events do not undergo a retry process - once sent, it will not retry if the downstream service is not available. In the event of merchant downtime, reconciliation can be performed using data exports or Bento APIs.

  4. Unordered: No guarantees are given for the ordering of events that will be sent, even within topics for the same resource. A created event may be sent after an updated event, for example. The emittedAt meta field can be used to order or disregard messages within your systems.

Event Format

Our events have the following fields

  • eventId - a unique identifier for the event.

  • version - the version of the event in use (may differ between different events).

  • eventType - the type of resource the event is for, e.g. customer, order, or subscription.

  • eventAction - the action taken as part of the event, e.g. created, updated, committed.

  • emittedAt - the time the original event was sent out.

  • body - the event data. See our Events documentation for how this varies between different resources.

Example order-committed event

{
  "eventId": "7fdf6a42-8948-11ee-b9d1-0242ac120002",
  "version": 1,
  "eventType": "order",
  "eventAction": "committed",
  "emittedAt": "2023-08-15T02:44:23.688Z",
  "body": {...}
}

Further Information

  • See our documentation on possible destinations for events:

  • See our documentation on the different events you can subscribe to:


Was this article helpful?

What's Next