template-saas/docs/03-integraciones/INT-004-push.md
Adrian Flores Cortes 806612a4db
Some checks are pending
CI / Backend CI (push) Waiting to run
CI / Frontend CI (push) Waiting to run
CI / Security Scan (push) Waiting to run
CI / CI Summary (push) Blocked by required conditions
[REESTRUCTURA-DOCS] refactor: Corregir estructura docs/ segun SIMCO-DOCUMENTACION-PROYECTO
- Renombrar 02-integraciones/ → 03-integraciones/ (resolver prefijo duplicado)
- Renombrar 02-devops/ → 04-devops/ (resolver prefijo duplicado)
- Renombrar architecture/ → 97-adr/ (agregar prefijo numerico)
- Actualizar _MAP.md con nueva estructura y version 2.1.0

Estructura final:
- 00-vision-general/
- 01-modulos/
- 02-especificaciones/
- 03-integraciones/
- 04-devops/
- 97-adr/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 20:34:14 -06:00

3.0 KiB

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