Saltar a contenido

Introducción al modelo de módulos

Un módulo externo es un paquete versionado que añade una capacidad al CRM. NexGestión lo descubre mediante su manifiesto, registra sus superficies y lo ejecuta dentro del contexto del espacio donde está instalado.

Cuándo crear un módulo

Es una buena opción cuando necesitas:

  • conectar un servicio externo;
  • añadir un flujo sectorial, como reservas, inventario o expedientes;
  • mostrar información adicional en clientes, prospectos o tickets;
  • incorporar automatizaciones reutilizables;
  • publicar una pequeña aplicación operativa dentro del CRM.

Si solo necesitas guardar una observación, una tarea o un archivo, utiliza primero las funciones base del CRM. El módulo debe aportar una capacidad que justifique su ciclo de vida propio.

Ciclo de vida

Diseño → empaquetado → instalación → activación → uso → actualización → desinstalación

Durante la instalación se comprueba la identidad del paquete y se preparan sus recursos. Durante la activación se habilitan sus superficies. Una actualización debe conservar los datos del cliente y explicar cualquier cambio que requiera intervención.

Superficies disponibles

  • Vistas: pantallas que el personal utiliza.
  • Acciones: operaciones iniciadas desde una vista o un flujo.
  • Mounts: lugares del CRM donde aparece una parte del módulo.
  • Endpoints públicos: entradas para aplicaciones o servicios externos.
  • Automatizaciones: respuestas a eventos del CRM.
  • Contexto IA: información breve que un agente puede consultar.

No es necesario utilizar todas las superficies. Cuantas menos exponga un módulo, más fácil será mantenerlo y protegerlo.

Decisiones que conviene tomar antes de programar

  1. ¿Qué dato o proceso es responsabilidad del módulo?
  2. ¿Qué usuarios pueden verlo y qué operaciones pueden realizar?
  3. ¿Qué ocurre si el servicio externo no responde?
  4. ¿Qué debe pasar al actualizar o desinstalar?
  5. ¿Qué información es necesaria para una persona y cuál para una automatización?

Documenta estas respuestas en el README del módulo y enlázalo desde su ficha comercial.