- Update vision, architecture and technical documentation - Update module definitions (PMC-001 to PMC-008) - Update requirements documentation - Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml - Add orchestration guidelines and references 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.6 KiB
| id | title | type | status | priority | module | project | version | rf_count | created_date | updated_date |
|---|---|---|---|---|---|---|---|---|---|---|
| RF-PMC-005 | Automation Module | Requirement | Done | Media | automation | platform_marketing_content | 1.0 | 10 | 2025-12-08 | 2026-01-04 |
Requerimientos Funcionales - PMC-005 Automation
Módulo: Automation Versión: 1.0.0 Fecha: 2025-12-08
Gestión de Flujos
RF-PMC-005-001: Listar Flujos de Automatización
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-001 |
| Nombre | Listar Flujos de Automatización |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Datos de salida:
- Lista de flujos disponibles
- Estado (activo/inactivo)
- Tipo (trigger_based, scheduled, manual)
- Última ejecución
- Conteo de ejecuciones
Criterios de aceptación:
- Flujos de sistema y custom listados
- Filtro por tipo y estado
- Ordenamiento por nombre/última ejecución
RF-PMC-005-002: Ver Detalle de Flujo
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-002 |
| Nombre | Ver Detalle de Flujo |
| Prioridad | P1 |
| Actor | Creative, Tenant Admin |
Datos de salida:
- Descripción completa
- Evento trigger
- Configuración
- Historial de ejecuciones recientes
Criterios de aceptación:
- Toda la información visible
- Link a workflow en n8n (admin)
RF-PMC-005-003: Activar Flujo
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-003 |
| Nombre | Activar Flujo |
| Prioridad | P1 |
| Actor | Tenant Admin |
Descripción: Habilitar un flujo para que procese eventos.
Criterios de aceptación:
- is_active cambia a true
- Flujo comienza a procesar eventos
- Registro en audit log
RF-PMC-005-004: Desactivar Flujo
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-004 |
| Nombre | Desactivar Flujo |
| Prioridad | P1 |
| Actor | Tenant Admin |
Descripción: Deshabilitar un flujo sin eliminarlo.
Criterios de aceptación:
- is_active cambia a false
- Eventos son ignorados
- Configuración preservada
RF-PMC-005-005: Configurar Flujo
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-005 |
| Nombre | Configurar Flujo |
| Prioridad | P2 |
| Actor | Tenant Admin |
Datos de entrada:
- config: object
- retry_on_failure: boolean
- max_retries: number
- timeout_seconds: number
- custom_params: object
Criterios de aceptación:
- Configuración se guarda
- Valores aplicados en ejecuciones
- Validación de rangos
RF-PMC-005-006: Ejecutar Flujo Manualmente
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-006 |
| Nombre | Ejecutar Flujo Manualmente |
| Prioridad | P2 |
| Actor | Tenant Admin |
Descripción: Disparar ejecución manual de un flujo con datos de prueba.
Datos de entrada:
- flow_id: UUID
- test_data: object (opcional)
Criterios de aceptación:
- Ejecución inicia inmediatamente
- Datos de prueba inyectados
- Resultado visible al completar
Ejecuciones
RF-PMC-005-007: Ver Historial de Ejecuciones
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-007 |
| Nombre | Ver Historial de Ejecuciones |
| Prioridad | P2 |
| Actor | Tenant Admin |
Datos de salida:
- Lista de ejecuciones con:
- Timestamp
- Status
- Duración
- Trigger data (resumen)
Criterios de aceptación:
- Paginación implementada
- Filtro por status y fecha
- Click para ver detalle
RF-PMC-005-008: Ver Detalle de Ejecución
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-008 |
| Nombre | Ver Detalle de Ejecución |
| Prioridad | P2 |
| Actor | Tenant Admin |
Datos de salida:
- Datos del trigger completos
- Output data
- Error message (si falló)
- Duración
- Timestamps
Criterios de aceptación:
- JSON viewer para datos complejos
- Error stack visible en fallos
RF-PMC-005-009: Cancelar Ejecución en Curso
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-009 |
| Nombre | Cancelar Ejecución en Curso |
| Prioridad | P3 |
| Actor | Tenant Admin |
Precondiciones:
- Ejecución en status "running"
Criterios de aceptación:
- Ejecución marcada como "cancelled"
- n8n notificado para cancelar
Webhooks
RF-PMC-005-010: Crear Endpoint de Webhook
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-010 |
| Nombre | Crear Endpoint de Webhook |
| Prioridad | P2 |
| Actor | Tenant Admin |
Datos de entrada:
- name: string
- target_flow_id: UUID
Datos de salida:
- slug generado
- URL completa
- secret_key generado
Criterios de aceptación:
- URL única generada
- Secret para validación
- Endpoint activo inmediatamente
RF-PMC-005-011: Listar Webhooks
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-011 |
| Nombre | Listar Webhooks |
| Prioridad | P2 |
| Actor | Tenant Admin |
Criterios de aceptación:
- Lista de endpoints del tenant
- URL copiable
- Estado y última llamada visible
RF-PMC-005-012: Eliminar Webhook
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-012 |
| Nombre | Eliminar Webhook |
| Prioridad | P3 |
| Actor | Tenant Admin |
Criterios de aceptación:
- Confirmación requerida
- Endpoint deja de funcionar
- Registro eliminado
RF-PMC-005-013: Regenerar Secret de Webhook
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-013 |
| Nombre | Regenerar Secret de Webhook |
| Prioridad | P3 |
| Actor | Tenant Admin |
Descripción: Generar nuevo secret invalidando el anterior.
Criterios de aceptación:
- Nuevo secret generado
- Anterior invalidado
- Integradores deben actualizar
RF-PMC-005-014: Recibir Webhook Externo
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-014 |
| Nombre | Recibir Webhook Externo |
| Prioridad | P2 |
| Actor | Sistema Externo |
Flujo:
- Sistema externo hace POST a /hooks/{tenant_slug}/{webhook_slug}
- Sistema valida firma HMAC
- Sistema busca flujo asociado
- Sistema crea ejecución
- Sistema responde 202 Accepted
Criterios de aceptación:
- Validación HMAC funciona
- Payload parseado correctamente
- Ejecución disparada
Eventos del Sistema
RF-PMC-005-015: Emitir Eventos Internos
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-015 |
| Nombre | Emitir Eventos Internos |
| Prioridad | P1 |
| Actor | Sistema |
Descripción: El sistema debe emitir eventos cuando ocurren acciones relevantes.
Eventos a emitir:
- CRM: client.created, brand.created, product.created
- Projects: campaign.created, campaign.status_changed, campaign.approved
- Generation: job.completed, job.failed
- Assets: asset.approved, all_assets.approved
Criterios de aceptación:
- Eventos emitidos en cada acción
- Payload incluye datos relevantes
- Flujos suscritos son notificados
RF-PMC-005-016: Suscribir Flujo a Evento
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-016 |
| Nombre | Suscribir Flujo a Evento |
| Prioridad | P1 |
| Actor | Sistema |
Descripción: Asociar un flujo con un evento específico.
Criterios de aceptación:
- Flujo se activa cuando evento ocurre
- Datos del evento pasados al flujo
- Múltiples flujos pueden suscribirse al mismo evento
Notificaciones
RF-PMC-005-017: Enviar Notificación por Email
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-017 |
| Nombre | Enviar Notificación por Email |
| Prioridad | P1 |
| Actor | Sistema (vía n8n) |
Descripción: Enviar emails como parte de flujos automatizados.
Datos de entrada:
- to: string (email)
- subject: string
- body: string (HTML)
- template_id: string (opcional)
Criterios de aceptación:
- Email enviado vía SMTP/SendGrid
- Templates soportados
- Variables interpoladas
RF-PMC-005-018: Enviar Notificación a Slack
| Campo | Valor |
|---|---|
| ID | RF-PMC-005-018 |
| Nombre | Enviar Notificación a Slack |
| Prioridad | P3 |
| Actor | Sistema (vía n8n) |
Descripción: Enviar mensajes a canales de Slack.
Datos de entrada:
- channel: string
- message: string
- blocks: array (opcional, formato Slack)
Criterios de aceptación:
- Mensaje enviado al canal
- Formato Slack soportado
- Webhook configurable por tenant
Resumen
| Prioridad | Cantidad |
|---|---|
| P1 | 7 |
| P2 | 7 |
| P3 | 4 |
| Total | 18 |
Documento generado por: Requirements-Analyst Fecha: 2025-12-08