@notifizz/nodejs
v1.0.1
Published
JavaScript/TypeScript client for sending and tracking events with Notifizz. Use it to track events, run workflows, generate hashed user tokens and send notifications to the Notification Center.
Readme
@notifizz/nodejs
JavaScript/TypeScript client for sending and tracking events with Notifizz. Use it to track events, run workflows, generate hashed user tokens and send notifications to the Notification Center.
Installation
npm install @notifizz/nodejs
# or
yarn add @notifizz/nodejsUsage
Initialize the client
const { NotifizzClient } = require("@notifizz/nodejs");
// or ESM: import { NotifizzClient } from "@notifizz/nodejs";
const client = new NotifizzClient(
"AUTH_SECRET_KEY", // provided by Notifizz
"SDK_SECRET_KEY" // provided by Notifizz
);Track events with workflows
await client
.track({
eventName: "user_signed_up",
sdkSecretKey: "SDK_SECRET_KEY",
properties: {
plan: "pro",
source: "landing_page",
},
})
.workflow("campaign_123", [
{ id: "user_1", email: "[email protected]" },
{ id: "user_2", email: "[email protected]" },
]);You can chain multiple .workflow(campaignId, recipients) calls before it sends.
Generate a hashed user token
Use this for backend authentication (e.g. Notification Center).
const token = client.generateHashedToken("user_123");Send a notification to the Notification Center
await client.send({
notifId: "notif_123",
properties: {
recipients: [{ id: "user_1", email: "[email protected]" }],
message: "Hello world",
},
});API summary| Method | Description |
|--------|-------------|
| new NotifizzClient(authSecretKey, sdkSecretKey) | Create a client. |
| client.track({ eventName, sdkSecretKey, properties }) | Start tracking an event; returns a context. |
| context.workflow(campaignId, recipients) | Attach a workflow and recipients (chainable). |
| client.generateHashedToken(userId) | Generate a hashed token for the user. |
| NotifizzClient.configureEnrich(workflowIds, fn) | Register an enrichment function for workflow(s). |
| client.send({ notifId, properties }) | Send a notification to the Notification Center. |
| client.config({ autoSendDelayMs }) | Configure options (e.g. auto-send delay in ms). |
