Ir al contenido

Descripción general para desarrolladores

PrimoCRM está diseñado para ser extensible. En esta sección se documentan los ganchos públicos, la API REST y los registros que utilizas para añadir funcionalidad sin editar el núcleo.

  • Interfaz de administración (Admin UI): una aplicación de página única en React que se comunica con controladores REST de PHP. Hay una sola página de administración con enrutamiento del lado del cliente.
  • Controladores REST: cada módulo registra sus rutas bajo el espacio de nombres primocrm/v1 en rest_api_init. Consulta API REST.
  • Motor en segundo plano: todo el trabajo de larga duración (envíos de campañas, goteos de secuencias, pasos de automatización, importaciones) se ejecuta a través de trabajadores cron con reprogramación automática y presupuesto de tiempo, nunca en la solicitud de página. Cuando añadas algo que se conecte a una API externa o procese muchas filas, sigue el mismo patrón de cola en lugar de una llamada bloqueante.
  • Registros y filtros: los activadores (triggers), acciones, campos de formulario, fuentes de migración y remitentes de correo se recopilan a través de filtros de WordPress, por lo que los complementos se registran en ellos sin necesidad de modificar el núcleo. Consulta Extender PrimoCRM.

PrimoCRM se distribuye como dos plugins. El plugin Gratuito es el CRM completo y funciona de forma independiente. El complemento Pro define una constante que desbloquea funciones prémium y registra activadores, acciones y remitentes adicionales a través de los mismos filtros públicos que usaría tu propio código.

Debido a que Pro utiliza los puntos de extensión públicos, los patrones de esta sección son exactamente cómo se construyen las características propias de Pro. Si Pro puede añadir un activador de WooCommerce a través de primocrm_automation_triggers, tú también puedes.

  • Contactos: contienen campos estándar además de campos personalizados almacenados como metadatos de contacto, y un estado que controla si se les pueden enviar correos.
  • Listas y etiquetas: agrupan contactos a través de tablas intermedias.
  • Campañas, secuencias y automatizaciones: cada una gestiona sus propias tablas y es controlada por el motor en segundo plano.

Los valores de los campos personalizados se pueden leer en los correos electrónicos como {{contact.meta.KEY}} y pueden ser modificados por las automatizaciones, lo cual es el punto de conexión que utiliza la acción de IA de Pro. Consulta Personalización y códigos inteligentes.

  • Espacios de nombres: usa prefijos en tus ganchos (hooks), opciones y claves para que no entren en conflicto. PrimoCRM utiliza el prefijo primocrm_ para los ganchos de PHP y primocrm/v1 para REST.
  • Capacidades: los puntos de conexión (endpoints) de REST verifican una capacidad en su retrollamada (callback) de permisos. Respeta el mismo modelo en cualquier cosa que añadas.
  • Nada está bloqueado: PrimoCRM no tiene una lista blanca de funciones gratuitas o de pago. Lo que se registra, se ejecuta. Si tu activador o acción requiere un plugin que no está instalado, regístralo de todos modos con una cadena requires_plugin y PrimoCRM lo mostrará como no disponible en lugar de ocultarlo.
  • Acciones y filtros: la referencia completa de ganchos.
  • API REST: espacio de nombres, autenticación y puntos de conexión.
  • Extender PrimoCRM: recetas de copiar y pegar para campos, fuentes, activadores y remitentes.