feat(afluencia): captura completa de perfil en alta de afluencia

Agrega al formulario ligero y a POST /api/leads: tipo de propiedad,
medio de contacto, edad, estado civil, tipo de empleo, ocupacion,
rango salarial, credito, tipo de economia, califica y lo quiere para.
Selects obligatorios (estado civil, tipo de empleo, tipo de economia,
califica) con las etiquetas sembradas como labels status en el tablero
Leads de Monday.
This commit is contained in:
2026-09-02 01:38:13 +00:00
parent f7070c9c35
commit 52667df041
7 changed files with 388 additions and 27 deletions

View File

@@ -22,6 +22,19 @@ const crearLeadSchema = z.object({
origen: z.string().trim().min(1).optional(),
desarrollo: z.string().trim().min(1).optional(),
notas: z.string().trim().min(1).optional(),
// Campos de calificación de la afluencia (opcionales; los labels fijos del
// front coinciden con los sembrados en Monday, no se validan contra el board)
tipoPropiedad: z.string().trim().min(1).optional(),
medioContacto: z.string().trim().min(1).optional(),
edad: z.coerce.number().int().min(15).max(120).optional(),
estadoCivil: z.string().trim().min(1).optional(),
tipoEmpleo: z.string().trim().min(1).optional(),
ocupacion: z.string().trim().min(1).optional(),
rangoSalarial: z.string().trim().min(1).optional(),
credito: z.string().trim().min(1).optional(),
tipoEconomia: z.string().trim().min(1).optional(),
califica: z.string().trim().min(1).optional(),
loQuierePara: z.string().trim().min(1).optional(),
})
const cambiarEstadoSchema = z.object({
@@ -112,6 +125,17 @@ export async function crearLead(
origenLabel: datos.origen,
desarrolloLabel: datos.desarrollo,
notas: datos.notas,
tipoPropiedadLabel: datos.tipoPropiedad,
medioContacto: datos.medioContacto,
edad: datos.edad,
estadoCivilLabel: datos.estadoCivil,
tipoEmpleoLabel: datos.tipoEmpleo,
ocupacion: datos.ocupacion,
rangoSalarial: datos.rangoSalarial,
creditoLabel: datos.credito,
tipoEconomiaLabel: datos.tipoEconomia,
calificaLabel: datos.califica,
loQuierePara: datos.loQuierePara,
})
let oportunidadId: string | null = null