Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

digest and sub Notifications FAQ #97

Merged
merged 1 commit into from
Jun 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions docs/features/digest.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ The NotificationAPI's Batch & Digest feature allows for the creation of recurrin

For each notification, you can configure the channels' `Delivery Options` as following:

- `Instantly`: When we receive an `Email` request, we try to deliver it to your user instantly. This delivery option is the `default`.
- `Hourly`: We deliver all the `Email` requests that we receive in an hour.
- `Weekly`: This configuration delivers all the `Email` requests once a week. You can choose the day and time for it.
- `Monthly`: To deliver `Email` notifications once a month. It can happen at the beginning or end of a month. You can also select the time to deliver as well.
- `Allow unsubscribing`: This allows your users to unsubscribe from this `Email`.
- `Instantly`: When we receive an `Email` request, we try to deliver it to your user instantly. This delivery option is the `default`.
- `Hourly`: We deliver all the `Email` requests that we receive in an hour.
- `Weekly`: This configuration delivers all the `Email` requests once a week. You can choose the day and time for it.
- `Monthly`: To deliver `Email` notifications once a month. It can happen at the beginning or end of a month. You can also select the time to deliver as well.
- `Allow unsubscribing`: This allows your users to unsubscribe from this `Email`.

`The Default Preference` indicates your users' default preference for delivery options.
`The Default Preference` indicates your users' default preference for delivery options.

The following shows a sample of an `Email` channel's `Delivery Options`.
The following shows a sample of an `Email` channel's `Delivery Options`.

import deliveryOptions from '@site/static/delivery_options.png';
import userPreference from '@site/static/userPreference.png';
Expand All @@ -51,8 +51,7 @@ style={{
border: '1px solid #d9d9d9',
marginLeft: 100
}}
/>

/>

Each channel can have one or more templates, and each template can be configured for one or multiple delivery options.

Expand All @@ -72,9 +71,13 @@ With batching you can still use all the functionality that is provided by the [P

If there are no notifications for a user in the specified period, the system will not send a notification. For example, assume you have selected the `Weekly` delivery option on `Monday at 9:00 am` for the `Email` channel. If there is no request recorded for the user by `Monday at 9:00 am` then no email will be sent.

### Will notifications with different sub notifications be batched together or separately?

Requests with different [sub notifications](./scheduling.md) will be batched separately.

### How does `Batch & Digest` work with `Throttling`?

The [`Throttling`](./throttling.md) criteria are checked at the configured time in the `Delivery Options`. For example, assume if you have configured `Throttling` for 2 notifications per user per 24 hours and configured the delivery option as `hourly`, and then sent a notification every hour. In the first two hours, a batched notification will be sent. Any notifications recieved afterwards will be discarded until 24 hours has passed.
The [`Throttling`](./throttling.md) criteria are checked at the configured time in the `Delivery Options`. For example, assume if you have configured `Throttling` for 2 notifications per user per 24 hours and configured the delivery option as `hourly`, and then sent a notification every hour. In the first two hours, a batched notification will be sent. Any notifications recieved afterwards will be discarded until 24 hours has passed.

Likewise if you have a notification with [`Throttling`](./throttling.md) set to allow 5 `new_comment` notifications per hour and a `Weekly` delivery option selected, then the 6th notification within the same hour will be ignored.

Expand Down
Loading