- If Kount sends a batch of updates (maximum of 20 per batch), the entire batch of updates can timeout, even if a merchant "accepts" some of the updates.
- A merchant needs to keep a cache of accepted/processed event IDs. Then check those against new ENS posts. A merchant can expire their cache after a day.
- A merchant will need to front-load their response; meaning as soon as they get the ENS message and determine it is a valid payload, they need to send their 200 response immediately, and *then* do their internal processing with the data.
- A merchant will have 5 seconds to send that 200 response. (Any synchronous processing they do before sending it is playing against the clock.)
Timing of post attempts and maximum limits
- There is a maximum of 20 events in a post.
- The average size of 20 events in a post is approx. 6k (this could be larger or smaller depending on which events triggered).
- ENS is single threaded so it will only open one socket when doing a post.
- The ENS queue will send events continuously unless there are fewer than the maximum of 20 events (19 or fewer), then it will send every 30 seconds.
- If the post fails, we will re-attempt delivery at regular intervals for 72 hours. After 72 hours we will drop the event and it will never be delivered.
- The events are sent in the order they were processed.