bloque 4: campanas por segmentos con medicion (modulo skeen_campanas: segmentos reutilizables con conteo verificado, campanas por WhatsApp y correo con programacion, prueba previa, limite por minuto, pausa por errores, consentimiento por canal y atribucion de citas) + encuesta al salir con NPS (campo propio, envio automatico y recordatorio, reporte con tendencia y desglose); apagado por defecto

This commit is contained in:
2026-10-12 02:34:34 +00:00
parent 705b5a2842
commit a6d6df4ebd
37 changed files with 4619 additions and 44 deletions

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Motor de campañas. Con `campanas.activo=false` (default) el método
regresa sin tocar nada: cero filas y cero envíos. Cada 5 minutos
encola las campañas vencidas y procesa la cola respetando el límite
de envíos por minuto y la pausa por errores seguidos. -->
<record id="cron_campanas" model="ir.cron">
<field name="name">SKEEN Campañas: encolar y enviar por segmentos</field>
<field name="model_id" ref="model_skeen_campana_service"/>
<field name="state">code</field>
<field name="code">model._cron_tick()</field>
<field name="interval_number">5</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
<!-- Encuestas de salida. Con `encuestas.activo=false` (default) no se
encola ni se envía nada: el cron regresa sin efectos. -->
<record id="cron_encuestas" model="ir.cron">
<field name="name">SKEEN Encuestas: enviar tras la cita y recordar</field>
<field name="model_id" ref="model_skeen_encuesta_service"/>
<field name="state">code</field>
<field name="code">model._cron_tick()</field>
<field name="interval_number">15</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
</record>
</data>
</odoo>