Why do we need to receive a webhook once a message is "received"?
With a "received" webhook we would be notified as soon as a message was accepted by the receiving mail server. Our business processes are mainly interested if a message could be delivered or not. For this reason the "received" event is important as it clearly indicates if message delivery was successful.
The existing "sent" event is not sufficient
The "sent" event indicates a message was rendered successfully in Episerver Campaign and the recipient mail server was attempted. There are many reasons why message delivery may still fail.
If a message was rendered correctly but could not be delivered or if there was a rendering error does not make a difference for the end result - it's more relevant during troubleshooting and monitoring of the involved tech stack.
Goals
we receive response- & interaction-data within seconds
we process suppression events (unsubscribe, spam-complaint, bounces) close to real-time
-
we replace existing response export-jobs
-
with webhooks we can process response data immediately in order to trigger subsequent steps - e.g.
customer master data updates
re-calculation of next best offer / next best action
trigger for follow up communication within the same or an alternate communication channel
Background and strategic fit
event-driven communication has increased through the last years and became the key-driver for more relevance and personalization in CRM strategies
event based communication and decision making requires interaction data to be available near real-time
all communication channels need to deliver interaction data near real-time to fuel customer profiling and allow consistence communication across all channels
Requirements
event trigger
standard payload included in all webhook events
event-specific payload
In addition to the SMTP status code, it should also contain the sending IP of this mail from Campaign.