Backend SDK methods
API Reference
Subscribers
- GETGet subscribers
- POSTCreate subscriber
- POSTBulk create subscribers
- GETGet subscriber
- PUTUpdate subscriber
- DELDelete subscriber
- PUTUpdate subscriber credentials
- DELDelete subscriber credentials by providerId
- PATCHUpdate subscriber online status
- GETGet subscriber preferences
- GETGet subscriber global preferences
- PATCHUpdate subscriber preference
- PATCHUpdate subscriber global preferences
- GETGet in-app notification feed for a particular subscriber
- GETGet the unseen in-app notifications count for subscribers feed
- POSTMark a subscriber feed message as seen
- POSTMarks all the subscriber messages as read, unread, seen or unseen. Optionally you can pass feed id (or array) to mark messages of a particular feed.
- POSTMark message action as seen
- GETHandle providers oauth redirect
- GETHandle chat oauth
Topics
Notification
Workflows
Workflow Overrides
Workflow groups
Integrations
Layouts
Execution Details
Organizations
Backend SDK methods
Fetch subscriber’s In-App notifications feed
const { data: inAppMessages } = await novu.subscribers.getNotificationsFeed(
"subscriberId",
{
page: 0,
limit: 10,
// it is of type string. By default all feeds messages are fetched
feedIdentifier: "Product Updates",
// seen and read filter of type boolean
seen: true,
read: true,
}
);
Fetch all Messages Sent To All Subscribers
import { ChannelTypeEnum } from "@novu/node";
// All fields are optional
const listMessagesOptions = {
// pagination options
page: 0,
limit: 20,
/**
* Filter options
*/
// use ChannelTypeEnum.PUSH for push, ChannelTypeEnum.EMAIL for email,
channel: ChannelTypeEnum.IN_APP, // only In-App type messages will be fetched
subscriberId: "6444105141ffb0919496dfcb",
transactionIds: ["644-41051-41ffb0-919496-dfcb"],
};
const { data: messagesData } = await novu.messages.list(listMessagesOptions);
Delete an In-App notification/message
// messageId is of MongoDB Id type
await novu.messages.deleteById("messageId");
Mark an In-App Message as Read/Seen
const { data: markMessageAsRead } = await novu.subscribers.markMessageRead(
"subscriberId",
"messageId"
);
const { data: markMessageAsSeen } = await novu.subscribers.markMessageSeen(
"subscriberId",
"messageId"
);
Mark an In-App Message as Read/Unread/Seen/Unseen
const { data: markMessageAs } = await novu.subscribers.markMessageAs(
"subscriberId",
"messageId",
{ seen: true, read: false }
);
Mark all In-App Messages as Read/Unread/Seen/Unseen
import { MarkMessagesAsEnum } from "@novu/node"
const { data: markAllInAppMessages } = await novu.subscribers.markAllMessagesAs(
'subscriberId',
// can be filtered with feed identifiers
feedIdentifier: ['Marketing', 'Product']
// MarkMessageAsEnum.READ => It will mark all messages as read
// MarkMessageAsEnum.SEEN => It will mark all messages as seen
// MarkMessageAsEnum.UNREAD => It will mark all messages as unread
// MarkMessageAsEnum.UNSEEN => It will mark all messages as unseen
markAs: MarkMessageAsEnum.Read
);
Fetch All Feeds
const { data: feedsData } = await novu.feeds.get();
Was this page helpful?