| id |
title |
type |
status |
priority |
provider |
category |
multi_tenant |
version |
created_date |
updated_date |
| INT-004 |
Integracion Push Notifications |
Integration |
Implemented |
P1 |
Web Push API (VAPID) |
Notifications |
true |
1.0.0 |
2026-01-07 |
2026-01-10 |
INT-004: Push Notifications
Metadata
| Campo |
Valor |
| Codigo |
INT-004 |
| Proveedor |
Web Push API (VAPID) |
| Tipo |
Notificaciones |
| Estado |
Implementado |
| Multi-tenant |
Si |
| Fecha integracion |
2026-01-10 |
Documentacion completa: Ver SAAS-007-notifications.md
Resumen
Web Push API para notificaciones push en navegadores.
Tecnologia
- Web Push API (VAPID)
- Service Worker para recepcion
- Almacenamiento de dispositivos en user_devices
Caracteristicas
- Suscripcion desde navegador
- Notificaciones background
- Soporte Chrome, Firefox, Edge
- Tracking de delivery
Configuracion
VAPID_PUBLIC_KEY=...
VAPID_PRIVATE_KEY=...
VAPID_SUBJECT=mailto:admin@example.com
Rate Limits
| Limite |
Valor |
Accion si excede |
| Requests/min |
1000 |
Retry con backoff exponencial |
Manejo de Errores
| Codigo |
Descripcion |
Accion |
| 400 |
Bad Request |
Log + no retry |
| 401 |
Unauthorized |
Renovar credenciales |
| 410 |
Subscription Gone |
Eliminar suscripcion de BD |
| 429 |
Rate Limited |
Backoff exponencial |
| 500 |
Server Error |
Retry con backoff |
Fallbacks
Estrategia Push Fallback
| Escenario |
Estrategia |
| Push service no disponible |
Encolar y reintentar en 5 minutos |
| Subscription expirada (410) |
Eliminar device de BD, no retry |
| Token invalido |
Solicitar re-suscripcion al usuario |
| Rate limit excedido |
Backoff exponencial (1s, 2s, 4s...) |
Fallback a Otros Canales
- Si push falla 3 veces consecutivas: Enviar por email como respaldo
- Si notificacion es critica (P0): SMS como ultimo recurso
- Notificaciones no criticas: Solo log, no escalamiento
Retry Strategy
{
attempts: 3,
backoff: {
type: 'exponential',
delay: 1000 // 1s, 2s, 4s
},
removeOnComplete: true,
removeOnFail: false // Mantener para debugging
}
Multi-tenant
- Credenciales: Por tenant (claves VAPID por tenant)
- Configuracion: Por tenant via tenant_config
- Aislamiento: Prefijo tenant_id en todas las operaciones
Testing
Sandbox/Test Mode
- Usar claves VAPID de desarrollo
- Chrome DevTools para simular notificaciones
- Fixtures disponibles para testing unitario
Monitoreo
| Metrica |
Descripcion |
Alerta |
| Latencia |
Tiempo de respuesta |
>2s |
| Errores |
Tasa de errores |
>1% |
| Disponibilidad |
Uptime del servicio |
<99.9% |
Referencias
- Modulo relacionado: SAAS-007-notifications.md
- Especificacion v2.0: ET-SAAS-007-notifications-v2.md
Ultima actualizacion: 2026-01-10
Version: 1.0.0