Marks an event that can be matched against a configured email trigger and used to drive the platform's trigger-based automation, such as sending an email or updating a funnel. Implementations represent the many kinds of significant occurrences that happen on the server, for example an enrolment, a payment, a new comment, a vote, or a subscription change. The interface extends Milton's Event so instances can be raised through the normal event bus. Trigger matching is done using the event id together with up to five generic trigger item values, which are typically ids of objects relevant to the event, and listeners may add extra data to the attributes map for use when rendering the resulting email.

Extends: Event


Properties

PropertyReturnsDescription
attributesMap<String,Object>Extra properties associated with this event, made available to trigger processing and email rendering in addition to the trigger item values.
eventIdStringIdentifies the type of this event in a form that is stable and safe to persist, used to match this event against the event id configured on an EmailTrigger.
serialisablebooleanWhether 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.
sourceProfileProfileThe profile whose action caused the event, where applicable.
triggerItem1StringA generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.
triggerItem2StringA generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.
triggerItem3StringA generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.
triggerItem4StringA generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.
triggerItem5StringA generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.
websiteWebsiteThe website which is the logical owner of the source of the event, used to scope trigger matching to a particular site.

Methods

getEventId() · getWebsite() · getSourceProfile() · getTriggerItem1() · getTriggerItem2() · getTriggerItem3() · getTriggerItem4() · getTriggerItem5() · getAttributes() · isSerialisable()

getEventId()

Returns: String

Identifies the type of this event in a form that is stable and safe to persist, used to match this event against the event id configured on an EmailTrigger.

getWebsite()

Returns: Website

The website which is the logical owner of the source of the event, used to scope trigger matching to a particular site.

getSourceProfile()

Returns: Profile

The profile whose action caused the event, where applicable.

getTriggerItem1()

Returns: String

A generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.

getTriggerItem2()

Returns: String

A generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.

getTriggerItem3()

Returns: String

A generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.

getTriggerItem4()

Returns: String

A generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.

getTriggerItem5()

Returns: String

A generic string value, usually an id, that a configured trigger condition can be matched against. The meaning of this value is defined by each event implementation, and it may be null if the implementation does not use this slot.

getAttributes()

Returns: Map<String,Object>

Extra properties associated with this event, made available to trigger processing and email rendering in addition to the trigger item values.

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.

To get full access to the Kademi Hub existing customers can login here, or new customers can register here.