Skip to content
daenhost
All technologies
Email, WhatsApp and Telegram through APIs In progress

Notifications and messaging

From event to notification, with priority and traceability.

A messaging layer in progress to connect events from Daen projects to communication channels, with delivery and failure-handling rules defined for each purpose.

  • Events separate from channels
  • Priority by purpose
  • Traceable outcomes

A notification begins with an event: a new order, a pending approval, an access request or an operational condition requiring attention. The system needs to decide what to communicate, to whom and when. Choosing the channel is one part of that process, alongside priority and tracking rules.

The centralized messaging layer for Daen projects is still being implemented. The design covers transactional email and API integrations with WhatsApp and Telegram. Its purpose is to organize delivery without scattering provider configuration throughout business rules; the capabilities described here still require integration and validation.

Each channel has a role

Planned integration areas, selected according to the project and recipient preferences.

Transactional email

Access recovery, authentication and application-generated notices. The Amazon SES integration is in progress.

WhatsApp

Targeted communication and relevant notices that follow platform rules and the purpose defined by the project.

Telegram

Operational alerts through bots for authorized recipients or groups, with configuration specific to each integration.

The event explains why a notice exists

Operational and business notices have different audiences and consequences. An infrastructure condition matters to the team responsible for operations. A new order or pending approval matters to the people working in that process. The notification should provide enough context to explain what happened and what attention is needed.

Separating event from channel allows communication to change without rewriting the business rule that created it. The application records the need to notify; the delivery layer will apply the conditions defined for that message type. Changing a provider or destination should not change the meaning of the event.

Some edge-generated email notifications are already enabled for relevant operational events. That existing capability is separate from the first-party layer described here: centralized integrations with SES, WhatsApp and Telegram remain in progress.

Urgency should guide delivery

Password recovery, authentication and critical operational messages are sensitive to delay. A periodic report or informational notice can follow a different pace. Implementation needs to separate these purposes so messages that can wait do not consume the entire path used by messages requiring immediate attention.

Priority organizes the queue; delivery depends on the application, the selected service and conditions at the destination. Planning defines that tracking and avoids treating a message as complete when all it had was one send attempt.

Alert repetition also needs control. Too many notices about the same condition can hide what deserves attention. The design will consider grouping, intervals and escalation to the responsible person without suppressing distinct events or turning every notice into an interruption.

A queue with rules for failure and repetition

The planned queue will separate creation of a notice from delivery to the provider. This allows temporary outages to be handled without forcing the operation that created the message to wait for every external response. The work includes defining persistence, priority and the conditions for removing a message from the queue.

Retries need to distinguish a temporary failure from a rejection that requires correction. Repeating a request forever when its destination is invalid does not solve the problem. Implementation will define intervals, attempt limits and a review path for messages that cannot continue.

Idempotency is another requirement: processing the same event again must not create accidental duplicate deliveries. If a connection ends without a response, it may be unclear whether the service accepted the request. Handling needs to use the identifiers and outcomes available from each integration rather than assuming every provider behaves the same way.

Acceptance, delivery and reading are different states

A successful API response may confirm that the service accepted a request or performed a sending operation. Its meaning depends on the channel. It should not be turned automatically into confirmation that the recipient received, read or acted on the message.

Email integrations may report delivery, bounce and complaint events depending on the configured service. Confirmation that a destination server accepted a message does not prove it was read or placed in the inbox. Handling these outcomes is part of the SES implementation.

WhatsApp status notifications may distinguish sending, delivery, reading and failure according to the information provided by the platform. With Telegram, a successful bot send request should not be presented as a read receipt. The workflow must preserve these distinctions instead of offering one universal indicator.

Webhooks are provider calls to the application that report asynchronous events. Where they are used, implementation must validate the source, connect the event to the right message and handle repetitions. These criteria still need to be built and tested for the planned integrations.

Useful content, the right destination and necessary records

A message should contain what the recipient needs to act. Internal details and sensitive information should not appear in an alert merely for convenience. When appropriate, the notice can point to the authenticated project area, where permissions still control access to complete information.

Each integration will consider destination authorization, communication preferences and the rules of the selected service. An operations group and a client contact need different safeguards, and not every piece of system information belongs on WhatsApp or Telegram.

Planned records should connect event, attempt and outcome without storing unnecessary content. Fields, access and retention still need to be defined for each purpose. Validation will include invalid destinations, temporary failures, duplicate outcomes and undelivered messages.

This area remains in progress until configuration, behavior and tracking have been verified. Its value lies in communicating the right event to the intended destination and making delivery outcomes understandable and actionable.

Key points

  • First-party layer still in progress for Daen projects
  • Events separated from delivery integrations
  • Priority defined by message purpose
  • Queue, retry limits and duplicate prevention planned
  • Acceptance, delivery and reading interpreted by channel
  • Authorized destinations and records limited to what is necessary

Sources