One per event (the default)
Every time the event arrives, the customer gets the notification. Use it for notifications where each event is its own thing, like a password reset or a shipping update.- Each event sends once.
- A customer gets one at a time: if two events for the same customer arrive at the same moment, only the first one sends.
- A retry of the same event sends again, even with the same
externalId. If your system retries, or must never send the same thing twice, use one per field value.
One per field value
Each different value of a field you pick gets its own notification, and a value that comes again is skipped. Use it when a customer can have several of something at once, like orders or appointments, and must never get the same one twice. Pick the field that is different on every event, usually an id:orderId,
appointmentId, invoiceId.
- Each distinct value sends once, ever, per customer.
- The same value arriving again for that customer sends nothing, so a retry never sends twice.
- Two different values for the same customer send two notifications, even at the same moment.
An example
Your system records anorder_shipped event each time an order ships, and the
Transactional sends one per orderId.
With one per event, the second order would be skipped (it arrived at the
same moment as the first), and the retry would send again.
Choosing the field
- Use an id that your system creates once per thing, the same one you would use to look it up later.
- Do not use a field shared by many events, like the customer id, a status or an amount. A customer id would send only the first notification the customer ever gets, and never again.
- Do not use a field that changes on a retry, like a timestamp or a request id. Every retry would send again.
Id, choosing One per field
value starts from it. If your event has not arrived yet, type the field’s
name; it only has to match what your system will send.
Sending the field
Put the field in the event’sproperties: