Campos Personalizados
Define campos adicionales para entidades del CRM sin modificar el esquema de la base de datos.
Entidades soportadas
| Entidad | Identificador |
|---|---|
| Contactos | crm_contact |
| Cuentas | crm_account |
| Deals | crm_deal |
| Leads | crm_lead |
Listar campos
GET /admin/crm/settings/fields
Muestra todos los campos personalizados agrupados por entidad.
Crear campo
POST /admin/crm/settings/fields
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
entity | sí | string | Entidad (crm_contact, etc.) |
key | sí | string | Identificador único (snake_case) |
label | sí | string | Etiqueta visible |
type | no | string | Tipo de campo (default: text) |
required | no | bool | Campo obligatorio |
help_text | no | string | Texto de ayuda |
options | no | JSON | Opciones para campos select |
Tipos de campo: text, textarea, number, select, date, checkbox
Formato de opciones:
[
{"label": "Opción A", "value": "a", "color": "#FF5733"},
{"label": "Opción B", "value": "b", "color": "#33FF57"}
]
Actualizar campo
POST /admin/crm/settings/fields/:id
Reordenar campos
POST /admin/crm/settings/fields/reorder
{
"ids": ["uuid-1", "uuid-2", "uuid-3"]
}
Toggle activo/inactivo
POST /admin/crm/settings/fields/:id/toggle
Eliminar campo
DELETE /admin/crm/settings/fields/:id
Soft-delete (los datos existentes se preservan).
Migrar desde metadata
POST /admin/crm/settings/fields/migrate
Migra campos almacenados en el campo metadata (mapa genérico) a campos personalizados estructurados.