Node SDK
Node SDK
Server-side SDK for Realtime server-to-server calls and webhook signature verification.
Installation
npm install @realtime-sdk/node
RealtimeServer
Main server-side client for admin API calls.
import { RealtimeServer } from '@realtime-sdk/node';
const realtime = new RealtimeServer({
endpoint: 'https://api.dev.realtimesdk.dev',
apiKey: process.env.REALTIME_API_KEY!,
});
Constructor Options
| Option | Type | Description |
|---|---|---|
endpoint | string | Required. Base HTTP URL of your Realtime server |
apiKey | string | Required. Must match server SERVER_API_KEY |
timeout | number | Optional request timeout in milliseconds (default: 10000) |
broadcast(roomId, event, data)
Broadcast an event to everyone currently connected to a room.
await realtime.broadcast('room-123', 'notification', {
message: 'Server announcement',
});
getRoomUsers(roomId)
Get active users currently present in a room.
const users = await realtime.getRoomUsers('room-123');
// [{ id, connectionId, color, data, cursor, joinedAt }]
Webhooks
verifySignature(secret, signature, payload)
Verify X-Realtime-Signature HMAC signatures.
import { verifySignature } from '@realtime-sdk/node';
app.post('/webhooks/realtime', (req, res) => {
const signature = req.headers['x-realtime-signature'];
const valid = verifySignature(
process.env.REALTIME_WEBHOOK_SECRET!,
String(signature ?? ''),
req.rawBody
);
if (!valid) {
return res.status(401).send('Invalid signature');
}
res.status(200).send('OK');
});