Files
medusa-store/www/apps/resources/app/architectural-modules/notification/page.mdx
2024-09-16 19:34:00 +02:00

68 lines
2.0 KiB
Plaintext

import { ChildDocs } from "docs-ui"
export const metadata = {
title: `Notification Module Providers`,
}
# {metadata.title}
A Notification Module exposes the functionalities to send a notification to a customer or user. For example, sending an order confirmation email.
You can resolve the Notification Module and send notifications in API routes, subscribers, or other resources.
---
## What is a Notification Module Provider?
A notification module provider implements the logic of sending the notification. It either integrates a third-party service or uses custom logic to send the notification.
By default, Medusa uses the Local Notification Module which only simulates sending the notification by logging a message in the terminal.
Medusa provides other Notification Modules that actually send notifications, such as the SendGrid Notification Module Provider.
<ChildDocs type="item" hideItems={["Guides"]} onlyTopLevel={true} />
---
## Notification Module Provider Channels
When you send a notification, you specify the channel to send it through, such as `email` or `sms`. Each provider defined in the Notification Module's `providers` option has a `channels` option specifying which channels it can be used in. Only one provider can be setup for each channel.
For example:
```js title="medusa-config.js" highlights={[["19"]]}
const { Modules } = require("@medusajs/utils")
// ...
module.exports = {
// ...
modules: {
// ...
[Modules.NOTIFICATION]: {
resolve: "@medusajs/notification",
options: {
providers: [
// ...
{
resolve: "@medusajs/notification-local",
id: "notification",
options: {
channels: ["email"],
},
},
],
},
},
},
}
```
The `channels` option is an array of strings indicating the channels this provider is used for.
---
## Create a Notification Module Provider
To create a notification module provider, refer to [this guide](/references/notification-provider-module).