Overview
Apprise
Send multichannel notifications in Medusa
MedusaJS Apprise Notification Plugin
A flexible notification plugin for MedusaJS using Apprise, enabling multichannel notifications with ease.
๐ Features
- Support for multiple notification channels (email, SMS, etc.)
- Configurable via MedusaJS modules
- Leverages Apprise's powerful notification routing
- Flexible axios-based client configuration
๐ฆ Installation
Install the package using npm:
1npm install @vymalo/medusa-apprise
Or using yarn:
1yarn add @vymalo/medusa-apprise
๐ Usage
Configuration
Add the plugin to the Copy to clipboardmodules
section of your MedusaJS configuration:
1234567891011121314151617181920modules: [{resolve: "@medusajs/medusa/notification",options: {providers: [{resolve: `@vymalo/medusa-apprise`,id: "apprise",options: {client: {baseURL: 'http://localhost:8000/notify', // Apprise API service URLheaders: {"Content-Type": "application/json"}},handlers: {email: (notification: ProviderSendNotificationDTO) => [{urls: [`mailgun:///noreply@example.com/4b4f2918fd-dk5f-8f91f/${notification.to}`,
๐ง Configuration Options
Client Configuration
The Copy to clipboardclient
option uses axios configuration, allowing full customization of the HTTP client.
Handlers
Define custom handlers for different notification channels:
- Copy to clipboard
email
: Email notification handler - Copy to clipboard
sms
: SMS notification handler - Add more as needed
Notification Payload
12345678type AppriseNotificationPayload = {urls: string[]; // Notification destination URLsbody: string; // Notification bodytitle?: string; // Optional notification titletype?: 'info' | 'warning' | 'failure'; // Notification typeformat?: 'text' | 'markdown' | 'html'; // Notification formattag?: string; // Optional tag for notification}
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.