npm.io
2.6.6 • Published 1 year ago

@novu/stateless

Licence
MIT
Version
2.6.6
Deps
3
Size
326 kB
Vulns
0
Weekly
0
Stars
40.0K

Install

npm install @novu/stateless
yarn add @novu/stateless

Usage

import { NovuStateless, ChannelTypeEnum } from '@novu/stateless';
import { SendgridEmailProvider } from '@novu/providers';

const novu = new NovuStateless();

await novu.registerProvider(
  new SendgridEmailProvider({
    apiKey: process.env.SENDGRID_API_KEY,
    from: 'sender@mail.com',
  }),
);

const passwordResetTemplate = await novu.registerTemplate({
  id: 'password-reset',
  messages: [
    {
      subject: 'Your password reset request',
      channel: ChannelTypeEnum.EMAIL,
      template: `
          Hi {{firstName}}!

          To reset your password click <a href="{{resetLink}}">here.</a>

          {{#if organization}}
            <img src="{{organization.logo}}" />
          {{/if}}
      `,
    },
  ],
});

await novu.trigger('<REPLACE_WITH_EVENT_NAME>', {
  $user_id: '<USER IDENTIFIER>',
  $email: 'test@email.com',
  firstName: 'John',
  lastName: 'Doe',
  organization: {
    logo: 'https://evilcorp.com/logo.png',
  },
});

Providers

Novu provides a single API to manage providers across multiple channels with a simple-to-use interface.

Email
SMS
Push
Chat
In-App
Other (Coming Soon...)
  • PagerDuty