@sklyerx/noti-saas-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Noti SDK

A TypeScript SDK for sending and managing notifications through the Noti API.

Installation

npm install @skylerx/noti-saas-sdk
# or
yarn add @skylerx/noti-saas-sdk
# or
pnpm add @skylerx/noti-saas-sdk

Quick Start

import { Client } from '@skylerx/noti-saas-sdk';

// Initialize the client
const client = new Client({
  apiKey: 'your-api-key'
});

// Send a simple notification
await client.send({
  title: 'Hello World',
  color: '0x00ff00',
  fields: [
    { name: 'Status', value: 'Active' }
  ],
  metadata: {
    type: 'welcome'
  }
});

Features

  • 🚀 Simple, fluent API
  • 💪 Full TypeScript support
  • 🎨 Template support with variable interpolation
  • ✨ Metadata and custom fields
  • 🔍 Event retrieval
  • 🛡️ Built-in error handling

Usage

Creating and Using Templates

Templates allow you to create reusable notification formats with variable interpolation:

// Create a template
const userSignupTemplate = client.template({
  title: 'New User: {{username}}',
  color: '0x00ff00',
  fields: [
    { name: 'Email', value: '{{email}}' },
    { name: 'Plan', value: '{{plan}}' }
  ],
  metadata: {
    type: 'user_signup',
    source: '{{source}}'
  }
});

// Use the template
await userSignupTemplate({
  username: 'johndoe',
  email: 'john@example.com',
  plan: 'Pro',
  source: 'web'
});

Retrieving Events

You can retrieve notification events using their ID:

const event = await client.retrieve('event-123');
console.log(event.status); // 'success'

Error Handling

The SDK includes built-in error handling with the SDKError class:

try {
  await client.send({
    title: 'Test Notification',
    color: '0x00ff00'
  });
} catch (error) {
  if (error instanceof SDKError) {
    console.error('API Error:', error.message);
    console.error('Error Code:', error.code);
  }
}

API Reference

Methods

send
send(options: SendOptions): Promise<SendResult>

Options:

  • title (string): Notification title
  • color (string): Hex color code (e.g., '0x00ff00')
  • fields (Array, optional): Array of name-value pairs
  • metadata (Record<string, unknown>, optional): Additional metadata

Returns: Promise resolving to send result with eventId

template
template(content: SendOptions): TemplateSender

Creates a reusable template function with variable interpolation.

retrieve
retrieve(eventId: string): Promise<RetrieveEventData>

Retrieves event data for a given notification ID.

Error Handling

The SDK throws SDKError for API-related errors. Each error includes:

  • message: Human-readable error description
  • code: Error code (e.g., 'SEND_ERROR', 'RETRIEVE_ERROR')

Development

Running Tests

# Install dependencies
pnpm install

# Run tests
pnpm test

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Readme

Keywords

none

Package Sidebar

Install

npm i @sklyerx/noti-saas-sdk

Weekly Downloads

2

Version

1.0.0

License

none

Unpacked Size

14.9 kB

Total Files

12

Last publish

Collaborators

  • sklyerx