feat(round-robin): reparto solo con el equipo 'vendedores' de Monday

- obtenerVendedores ahora lee el team de Monday (MONDAY_RR_TEAM,
  default 'vendedores') con cache de 1 h; MONDAY_RR_USER_IDS queda como
  override manual.
- Escrituras a columnas status resuelven el label real sin importar
  mayusculas: si renombran labels en la UI de Monday (paso con
  NUEVO→Nuevo) el API sigue escribiendo en vez de tronar con 502.
- mapearLead: un status nunca escrito (value null) se lee como vacio;
  Monday regresaba el label default del tablero como texto y el
  round-robin creia que el lead estaba descartado.
This commit is contained in:
2026-09-04 02:39:37 +00:00
parent f382987fbf
commit d4fc9ee892
5 changed files with 127 additions and 15 deletions

View File

@@ -42,8 +42,10 @@ export const config = {
enabled: env('MONDAY_AUTOMATIONS_ENABLED', 'true') !== 'false',
// 'false' desactiva la creación de actividades en Monday (default true; false en tests)
actividadesEnabled: env('ACTIVIDADES_ENABLED', 'true') !== 'false',
// IDs de usuario Monday separados por coma; vacío = auto-detectar usuarios no-guest del workspace
// IDs de usuario Monday separados por coma; vacío = usar el equipo rrEquipo
rrUserIds: env('MONDAY_RR_USER_IDS', ''),
// Equipo (team) de Monday cuyos miembros entran al round-robin
rrEquipo: env('MONDAY_RR_TEAM', 'vendedores'),
inactividadDias: Number(env('INACTIVIDAD_DIAS', '10')),
// Horas que un lead asignado puede seguir en NUEVO/Intento de contacto antes de escalar
escaladoHoras: Number(env('LEAD_ESCALADO_HORAS', '48')),