Documentation Menu
DocsGetting StartedOfficial SDKs & Tooling

Official SDKs & Tooling

Explore official SDKs for TypeScript, Python, Go, and Java.

# Official SDKs & Tooling

NotifySetu provides first-party SDKs with strict typing, automatic retries, and rate limiting out of the box.

TypeScript / Node.js

npm install @notifysetu/sdk
# or
pnpm add @notifysetu/sdk
import { NotifySetu } from "@notifysetu/sdk";

const client = new NotifySetu({ apiKey: process.env.NOTIFYSETU_API_KEY!, });

const response = await client.notifications.send({ recipient: "alex@example.com", channels: ["EMAIL", "SMS"], template: "security_alert", data: { deviceName: "MacBook Pro (M3)", ipAddress: "192.0.2.1", }, });

console.log("Notification ID:", response.notificationId); ```

Python

pip install notifysetu
from notifysetu import NotifySetuClient

client = NotifySetuClient(api_key="nts_live_sample_key")

resp = client.notifications.send( recipient="alex@example.com", channels=["EMAIL", "WHATSAPP"], template_id="order_update", variables={"order_id": "ORD-9812", "amount": "$120.00"} ) print("Dispatched:", resp.notification_id) ```

Go

package main

import ( "context" "fmt" "github.com/sonurust/notifysetu-web/packages/sdk-go" )

func main() { client := notifysetu.NewClient("nts_live_sample_key") resp, err := client.Notifications.Send(context.Background(), &notifysetu.SendRequest{ Recipient: "dev@company.com", Channels: []string{"EMAIL", "SMS"}, Template: "server_alert", }) if err != nil { panic(err) } fmt.Println("Notification dispatched:", resp.ID) } ```

Java / Spring Boot

NotifySetuClient client = new NotifySetuClient("nts_live_sample_key");
NotificationResponse resp = client.notifications().send(
    SendNotificationRequest.builder()
        .recipient("customer@example.com")
        .channels(List.of("EMAIL", "PUSH"))
        .templateId("invoice_ready")
        .build()
);