INTEGRATIONS
API Integration
The MCNE (Multi-Channel Notification Engine) System is designed to offload the work of sending notifications through multiple channels. As a developer, your primary point of interaction will be the MCNE API.
1. Sending Notifications
- To send a notification, your application will make an HTTP POST request to the `/api/notification` endpoint.
- The payload will typically include references to a pre-configured notification template, recipient information (e.g., email addresses, phone numbers, user IDs), and any dynamic data required to personalize the template.
- If your notification includes attachments, these can be uploaded as part of a multipart/form-data request to the same endpoint. The API will handle storing these attachments.
- Upon successful submission, the API will return a unique notification ID, which you can use for tracking. The request is then placed into an internal queue for asynchronous processing by the MCNE Engine.
2. Delivery Status Updates
MCNE listens for Delivery Status Notifications (DSNs) from external messaging providers (e.g., email delivery confirmations, SMS failure alerts) on dedicated Webhook Endpoints.
These DSNs are processed internally, and the status of the original notification is updated in MCNE’s persistent storage. While your application doesn’t directly interact with these webhook endpoints, the updated status is accessible if you need to query the state of a notification via the Admin UI.
3. Configuration and Templates
Notification content (subject, body) and channel-specific settings are defined as Templates within MCNE, usually via the Admin UI. Your application will reference these templates by ID. This separation allows non-developers to manage notification content and reduces the need for hardcoding messages in your application.
Client application settings and Distribution Configurations (which dictate, for example, which specific external service to use for a given template or client app) are also managed through the Admin UI via Admin Endpoints.
4. Asynchronous Processing & Reliability
MCNE uses internal queuing mechanisms to manage the flow of notifications and status updates. This makes the system resilient to transient issues with external providers and allows for features like automated retries for failed messages.
Persistent storage is used for notifications, templates, configurations, and logs, ensuring data integrity and auditability.
Your integration should focus on correctly formatting requests to the `Notification Endpoint` and, if necessary, understanding how to use the Admin UI or its underlying Admin Endpoints for configuration tasks relevant to your application’s notifications.