Buscar en la documentación

Notificaciones a participantes

A quién avisa Trazo de cada mensaje y cada cambio de un incidente, cómo se guardan los avisos y cómo se leen en la campana.

Módulo notifications1 min de lecturaVer en GitHub

Las notificaciones viven en la campana del dock, en dos pestañas: Conversaciones (mensajes) y Actividad (cambios). Se crean en la cola, para que nunca demoren ni hagan fallar el cambio que las originó. Nadie recibe aviso de lo que hizo él mismo.

HechoRecibe el aviso
Mensaje nuevoQuien creó el incidente, el asignado y quienes ya escribieron
AsignadoLa persona que lo recibe
Cambio de estadoQuien lo creó y el asignado
ReabiertoQuien lo creó, el asignado y quien pidió la reapertura
Reapertura rechazadaQuien la pidió
Creado, reapertura pedida y vencidoVer Avisos de coordinación
Diagrama5 carriles · 9 pasos · 0 salidas de error
SíNoSe guarda unmensaje o unaentrada delhistorial1CreateNotificationstoma el evento2¿Hay a quiénavisar?3Termina sin avisos4Guarda un aviso porpersona5Envíanotifications.changeda cada uno6La campana pide GET/notifications/unread7Abre el centro denotificaciones8Abre un aviso yqueda leído9
Los números coinciden con el paso a paso. En pantallas pequeñas el diagrama se desliza de lado.

Paso a paso

  1. APISe guarda un mensaje o una entrada del historial

    Emite IncidentCommented o IncidentActivityRecorded tras confirmar la transacción.

  2. ColaCreateNotifications toma el evento
  3. Cola¿Hay a quién avisar?

    Recipients calcula los destinatarios a partir del registro (no del incidente actual: la cola corre después y el asignado pudo cambiar). Borrar un mensaje no avisa.

  4. ColaTermina sin avisos
  5. Base de datosGuarda un aviso por persona

    En notifications, con FK a la persona, al incidente y al mensaje o al registro del historial. Para mensajes hay un solo aviso sin leer por incidente y persona (columna calculada única): si ya existe, sube su contador y pasa a ser el más reciente.

  6. ReverbEnvía notifications.changed a cada uno

    Por su canal personal, sin datos.

  7. DestinatarioLa campana pide GET /notifications/unread

    Cuántos sin leer hay en cada pestaña.

  8. DestinatarioAbre el centro de notificaciones

    GET /notifications?category=&before=, 20 por página. Si ya no puede ver el incidente, el aviso sale sin título ni texto.

  9. DestinatarioAbre un aviso y queda leído

    POST /notifications/{id}/read, o todos de una pestaña con POST /notifications/read. Mientras el chat de un incidente está abierto, sus avisos de mensajes se marcan leídos solos. Los avisos se borran a los 90 días.

Qué ve la persona en cada error

CódigoHTTPCuándoMensaje en pantalla
NOTIFICATION_NOT_FOUND404El aviso ya no existe (se borró por antigüedad) o es de otra personaEsa notificación ya no existe: se borró por antigüedad. Actualiza la lista.

Dónde está en el código