SDK Documentation
Official SDKs for integrating with the Notification System.
JavaScript / TypeScript
For Node.js and browser applications
npm install @notification-system/sdkGo
For Go applications and microservices
go get github.com/notification-system/sdk-goPHP
For PHP and Laravel applications
composer require notification-system/sdkFlutter / Dart
For mobile and cross-platform apps
notification_system_sdk: ^1.0.0Rust
For Rust services and workers
notification-system-sdk = "1.0.0"Android / Kotlin
For native Android apps
implementation("com.notificationsystem:sdk:1.0.0")iOS / Swift
For native iOS apps
NotificationSystemSDK Swift PackageLynx / TypeScript
For Lynx applications
npm install @notification-system/lynx-sdkCommon Features
Automatic Retries
Failed requests are automatically retried with exponential backoff
Type Safety
Full type definitions for TypeScript, Go, Dart, PHP, Rust, Kotlin, and Swift
Error Handling
Typed exceptions for API errors, network errors, and timeouts
Integration APIs
Workspace projects, platform integrations, and per-integration API keys
Configurable
Custom base URL, timeout, and retry settings
Quick Comparison
| SDK | Package | Version | Min Runtime |
|---|---|---|---|
| JavaScript | @notification-system/sdk | 1.2.0 | Node.js 16+ |
| Go | sdk-go | 1.2.0 | Go 1.18+ |
| PHP | notification-system/sdk | 1.2.0 | PHP 8.0+ |
| Flutter | notification_system_sdk | 1.2.0 | Dart 2.17+ |
| Rust | notification-system-sdk | 1.0.0 | Rust 1.75+ |
| Android | com.notificationsystem:sdk | 1.0.0 | Kotlin 1.9+ |
| iOS | NotificationSystemSDK | 1.0.0 | iOS 13+ / Swift 5.9+ |
| Lynx | @notification-system/lynx-sdk | 1.0.0 | Lynx fetch runtime |
Send Notification Example
import { NotificationClient } from '@notification-system/sdk';
const client = new NotificationClient({
apiKey: process.env.NOTIFICATION_API_KEY,
timeout: 30000,
retries: 3,
});
// Send notification
const response = await client.notifications.send({
type: ['email', 'sms', 'slack'],
content: 'Your order has been shipped!',
target: ['user@example.com', '+1234567890', '#orders'],
metadata: {
orderId: '12345',
trackingNumber: 'ABC123',
},
});
console.log('Notification ID:', response.id);
console.log('Status:', response.status);