Skip to main content
Esta sección documenta la capa de tiempo real de B Brands construida sobre Pusher Channels. horizon-api publica eventos de dominio tipados (ciclo de vida de contratos digitales, telemetría de Maihue Street / NOC) a canales por entidad; los frontends se suscriben y reaccionan a ellos.

Qué es esto

El tiempo real es una mejora de UX best-effort superpuesta sobre el estado autoritativo REST/query — nunca una fuente de verdad. Cuando una acción del backend debería llegar a un cliente conectado de inmediato (un contrato se firma, un tótem envía un frame de telemetría, se dispara una alerta NOC), el servidor dispara un evento de Pusher en el canal que posee esa entidad. El cliente reacciona, típicamente invalidando una query cacheada.

Lo que el tiempo real hace

Empuja una notificación ligera para que la UI se refresque sin esperar al próximo poll.

Lo que el tiempo real NO hace

Nunca transporta estado autoritativo y nunca garantiza la entrega. Si un mensaje se pierde, la capa REST/query sigue siendo correcta.

Degradación elegante

Las credenciales de Pusher son opcionales en cada entorno:
  • Sin credenciales del servidor, el publisher corre en modo log-only (el trigger es un no-op) y nunca lanza.
  • Sin una key del cliente, el hook de suscripción reporta status: "disabled" y los consumidores recurren al polling.
Nunca trates un evento de Pusher como una señal transaccional. Cada consumidor debe permanecer correcto si el evento se descarta, se duplica o llega fuera de orden.

Cómo fluye la señal

Adónde ir después

Arquitectura

El publisher, el cliente perezoso y el modelo de degradación.

Canales y eventos

El naming de canales, el contrato de eventos y el autorizador de canales privados.

Integración de clientes

El hook compartido usePusherChannel y el contrato de env del cliente.

Operaciones

Variables de entorno, health probe y solución de problemas.