Fired for a change in the delivery status of a single email: delivered, failed, opened, or a click converted to a goal. Raised from EmailManager and related email processing classes as each status change is recorded against an EmailItem. Event ID: emailDelivery.
Implements: TriggerEvent
Properties
| Property | Returns | Description |
|---|---|---|
| action | EmailDeliveryAction | Which delivery status this event reports. |
| attributes | Map<String,Object> | Extra properties for this event: "emailItem" and "emailJob", when the event was constructed from an EmailItem. |
| eventId | String | The constant event id used to register listeners for this event type. |
| sourceProfile | Profile | The profile the email was sent to. |
| triggerItem1 | String | The name of the delivery action - "Delivered", "Failed", "Opened" or "Converted". |
| triggerItem2 | String | The id of the email job this delivery status belongs to. |
| triggerItem3 | String | Not used, always null. |
| triggerItem4 | String | Not used, always null. |
| triggerItem5 | String | Not used, always null. |
| website | Website | Not used, always null. Email delivery is not tied to a particular website. |
Inherited from TriggerEvent
Properties
| Property | Returns | Description |
|---|---|---|
| serialisable | boolean | Whether this event's attributes were built to survive being persisted, ie every value is a plain serialisable value rather than a persistent entity or some other object that only makes sense inside the firing transaction. Only the firing app can know this, so it declares it - see EventBuilder. An agent that subscribes to an event does not run when it fires. The event is written to storage as JSON, buffered with others, and read back minutes later in a different session, so a value that cannot be written and read back is not merely awkward, it breaks the whole delivery. The agent framework therefore ignores any event which does not say yes here. |
Methods
isSerialisable()
Returns: boolean
Whether this event's attributes were built to survive being persisted, ie every value is a plain serialisable value rather than a persistent entity or some other object that only makes sense inside the firing transaction. Only the firing app can know this, so it declares it - see EventBuilder. An agent that subscribes to an event does not run when it fires. The event is written to storage as JSON, buffered with others, and read back minutes later in a different session, so a value that cannot be written and read back is not merely awkward, it breaks the whole delivery. The agent framework therefore ignores any event which does not say yes here.
Methods
getAction() · getWebsite() · getSourceProfile() · getEventId() · getTriggerItem1() · getTriggerItem2() · getTriggerItem3() · getTriggerItem4() · getTriggerItem5() · getAttributes()
getAction()
Returns: EmailDeliveryAction
Which delivery status this event reports.
getWebsite()
Returns: Website
Not used, always null. Email delivery is not tied to a particular website.
getSourceProfile()
Returns: Profile
The profile the email was sent to.
getEventId()
Returns: String
The constant event id used to register listeners for this event type.
getTriggerItem1()
Returns: String
The name of the delivery action - "Delivered", "Failed", "Opened" or "Converted".
getTriggerItem2()
Returns: String
The id of the email job this delivery status belongs to.
getTriggerItem3()
Returns: String
Not used, always null.
getTriggerItem4()
Returns: String
Not used, always null.
getTriggerItem5()
Returns: String
Not used, always null.
getAttributes()
Returns: Map<String,Object>
Extra properties for this event: "emailItem" and "emailJob", when the event was constructed from an EmailItem.