Receive real-time event notifications via WebSockets
import { KadoaClient } from "@kadoa/node-sdk"; const client = new KadoaClient({ apiKey: "your-api-key" }); const realtime = await client.connectRealtime(); realtime.onEvent((event) => { console.log("Event:", event.eventType, event.message); }); realtime.onConnection((connected) => { console.log("Connected:", connected); }); realtime.onError((error) => { console.error("Error:", error); });
realtime.onEvent((event) => { switch (event.eventType) { case "workflow_finished": console.log("Workflow completed:", event.message.id); break; case "workflow_data_change": console.log("Data changed:", event.message.differences); break; case "workflow_failed": console.log("Workflow failed:", event.message.reason); break; } });
{ "eventType": "event_name", "id": "event-uuid", "timestamp": "2025-01-15T10:30:00.000Z", "message": { /* event-specific data */ } }
{ "eventType": "workflow_data_change", "id": "2df91fbd-74c1-4d11-91aa-50030393574b", "timestamp": "2025-01-15T10:30:00.000Z", "message": { "id": "change_123", "workflowId": "wf_123", "data": [ { "id": "record-1", "name": "Product A", "price": 29.99 } ], "differences": [ { "type": "changed", "fields": [ { "key": "price", "value": 29.99, "previousValue": 24.99 } ] } ], "url": "https://monitored-page.com", "createdAt": "2025-01-09T10:00:00Z" } }