Communications Process Flow
Each communication results in the comm being sent to one target. Multiple targets, such as sending an email to all subscriptions on an , is not currently supported.
The communications process is as follows:
The Communications process starts when a communication request is triggered. A trigger can be:
- Internal - for example a workflow event, raised either manually or automatically.
- External - a request from an external system. A communication request can be created automatically on receipt of a notification from an external system.
When a trigger is invoked, CMP creates an entry in the core table in Communications, the Comms Request Header table.
When a Workflow Event is created, irrespective on whether the WhenToCreate is set to OnCreate or OnResolve, an entry in created in the Comms Request Header.
When an entry is created in the Comms Request Header table, the Comms Monitor Job is triggered to process the Comms Request Header and produce a Comms Request Detail. This job:
- Works out the appropriate delivery method and target, for example a mobile number, email address etc.
The Delivery Method chosen depends on:
The delivery methods that are associated with the communication. So if only one delivery method is configured then that is the chosen delivery method.The Communications Preference selected by the . This is relevant if there are multiple delivery methods associated with a communication. For example, if and Email are configured as delivery methods, and the customer preference is SMS, then they will receive an SMS.
-
Derives the values of the that are associated with the communication.
Each default field is associated with a bean, which is the software object that retrieves the customer information for the default field from CMP. One or more parameters are configured for the bean, which tell the bean exactly what information to retrieve.
- In the case of push notifications, online notifications and SMS delivery methods, the job also merges the data of the derived fields with the message template to produce the actual message. For letters and email, this merging is carried out by separate jobs.
After the Comms Monitor Job has completed, dedicated daemons pick up the requests to distribute them to the destination:
- Comms SMS Daemon
- Comms Push To Handset Daemon
- Comms Push To External Daemon
Email and letter communications require additional processing to merge data from default fields gathered from CMP with document templates to generate the required document type. The Comms Monitor job gathers the data; the Comms Email Monitor and the Comms Letter Monitor jobs merge the data.
The Comms Email Monitor and Comms Letter Monitor jobs are triggered automatically when the Comms Monitor job has finished gathering data for Comms Requests relating to emails or letters.
These jobs uses external frameworks - for example, Velocity and Prince - to generate documents. Generated documents are subsequently detected by the following downstream daemons for transmission to the customer:
- Comms Email Daemon
- Comms Letter Daemon
This is a distinct step carried out by the Comms Storage Daemon. This allows the documents to be placed into storage on any machine, for example, in systems such as Amazon S3 or on a machine via . Storing the documents in a long-term storage directory allows them to be viewed in .
An allows external systems to update the status in CMP of communications that were sent externally for processing and/or distribution.
Related Topics