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.