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/sdkimport { 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 notifysetufrom notifysetu import NotifySetuClientclient = 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 mainimport ( "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(), ¬ifysetu.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()
);