WebSocket real-time notifications

La plataforma de Control Tower tiene soporte para notificaciones en tiempo real mediante el uso de WebSockets.

Cada usuario tiene un identificador asociado a un canal de notificaciones, que es único y se genera bajo demanda usando el API correspondiente.

Suponiendo que el identificador lo llamamos {code} , la dirección a la que el cliente se tendrá que contectar para recibir las notificaciones será:

wss://controltower-backend.dekaside.com/ws/notifications/{code}/

Dado que el sistema está pensado para implementar notificaciones en tiempo real, toda comunicación se realizará del servidor al cliente.

Ejemplo de código para conectarse al WebSocket

const socket = new WebSocket(
    'wss://controltower-backend.dekaside.com/ws/notifications/4217643742601e1d34f574e9d0be477d8a765a3d73c249ba63afddfb1062a94d/'
);
socket.addEventListener('open', function (event) {
    console.log("Open event", event)
});
socket.addEventListener('close', function (event) {
    console.log("Close event", event)
});
socket.addEventListener('error', function (event) {
    console.log("Error event", event)
});
socket.addEventListener('message', function (event) {
    console.log("Message event", event)
    const data = JSON.parse(e.data);
    console.log(data.payload)
});

Todo el mensaje vendrá como un JSON serializado en una cadena de texto, por lo que tendrá que ser parseado por el lado cliente. El contendio de la notificación se encontrará en el campo payload.