A TypeScript SDK for sending and managing notifications through the Noti API.
npm install @skylerx/noti-saas-sdk
# or
yarn add @skylerx/noti-saas-sdk
# or
pnpm add @skylerx/noti-saas-sdk
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'
}
});
- 🚀 Simple, fluent API
- 💪 Full TypeScript support
- 🎨 Template support with variable interpolation
- ✨ Metadata and custom fields
- 🔍 Event retrieval
- 🛡️ Built-in error handling
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'
});
You can retrieve notification events using their ID:
const event = await client.retrieve('event-123');
console.log(event.status); // 'success'
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);
}
}
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(content: SendOptions): TemplateSender
Creates a reusable template function with variable interpolation.
retrieve(eventId: string): Promise<RetrieveEventData>
Retrieves event data for a given notification ID.
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')
# Install dependencies
pnpm install
# Run tests
pnpm test
MIT
Contributions are welcome! Please feel free to submit a Pull Request.