Self-Hosted ·

Push Notifications
& Realtime
In One Platform

Send persistent notifications with delivery guarantees, priority levels, and offline queuing. Plus full realtime channel support for live features.

send_notification.sh
01curl-X POST /api/message \
02 -H"X-Datonow-Token: tok_..."
03 -d'{"title":"Deploy OK",'
04'"priority": 8}'
05// => 201 Created, delivered via WebSocket
06// => offline clients queued automatically

Core Capabilities

notifications_active

Push Notifications

Persistent messages with priority levels (1-10), TTL expiration, and guaranteed offline delivery on reconnect.

POST /api/message
track_changes

Delivery Tracking

Per-client delivery status: pending, delivered, read. Automatic acknowledgment protocol over WebSocket with cursor-based message history.

msg #1042delivered
msg #1043read
msg #1044pending
Delivery: At-Least-Once Guaranteeverified
webhook

Webhooks

Forward notification events to external endpoints with HMAC-SHA256 signed payloads.

forum

Realtime Channels

Public, private, and presence channels with HMAC authentication for live features.

key

Client Tokens

Per-device authentication tokens with last-seen tracking. One token per user for targeted delivery.

group

Team Access Control

Invite-only user system with module-based permissions. Admin, write, read, or none per module.

Developer First SDK

Integrate in minutes with our lightweight TypeScript SDKs. Full notification and realtime support for both browser and Node.js.

  • check_circlePush notifications with offline queue
  • check_circleAutomatic reconnection & delivery ack
  • check_circleRealtime channels with presence
  • check_circleServer SDK for sending & token management
notifications.tscontent_copy

import { DatonowClient } from '@datonow/sdk';


// Connect with client token

const client = new DatonowClient({

token: 'your-client-token'

});

client.connect();


// Listen for push notifications

client.notifications.onNotification((msg) => {

// priority: 1-10, delivered in realtime

showAlert(msg.title, msg.priority);

});

verified_user

Self-Hosted & Secure

Your data stays on your infrastructure. AES-256-GCM encryption at rest, HMAC-SHA256 for every request, invite-only access, and strict tenant isolation.

HMAC VERIFICATION

Cryptographic signing of every trigger and webhook payload.

ENCRYPTED AT REST

App secrets encrypted with AES-256-GCM. Passwords hashed with scrypt.

SECRET ROTATION

Instant key rotation without service downtime. Per-app credential isolation.

INVITE-ONLY ACCESS

No open registration. Admin-controlled invites with module-level permissions.

System Alerts

System Alerts

Deploy notifications, error alerts, and CI/CD status updates to your team in realtime.

Live Dashboards

Live Dashboards

Stream telemetry and metrics data with sub-millisecond updates via channels.

IoT & Devices

IoT & Devices

Per-device tokens with offline queuing. Messages delivered when devices come back online.

person_pin

SaaS Integration

Embed Datonow into your own product. Create one client token per end-user on signup, then send targeted notifications from background jobs — file exports, payment confirmations, async task completions.

See the integration patternarrow_forward

// provision on user signup

const token = await datonow

.createClientToken(`user-${user.id}`);


// send from a background job

const targeted = new DatonowServer({

secret: user.datonowToken,

});

await targeted.sendNotification({

title: 'Your export is ready',

});

Deploy your notification infrastructure in minutes