Vista general para desarrolladores
PrimoCRM está diseñado para ser ampliado. Esta sección documenta los ganchos públicos, la API REST y los registros que utilizas para añadir funcionalidad sin editar el núcleo.
Arquitectura de un vistazo
Sección titulada «Arquitectura de un vistazo»- Interfaz de administración: una aplicación de página única en React que se comunica con controladores REST de PHP. Hay una 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/v1enrest_api_init. Consulta API REST. - Motor en segundo plano: todo el trabajo de larga duración (envíos de campañas, secuencias por goteo, pasos de automatización, importaciones) se ejecuta a través de trabajadores cron reprogramables y con 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, las acciones, los campos de formulario, las fuentes de migración y los remitentes de correo electrónico se recopilan mediante filtros de WordPress, por lo que los complementos se registran en ellos sin necesidad de editar el núcleo. Consulta Ampliar PrimoCRM.
Versiones Free y Pro
Sección titulada «Versiones Free y Pro»PrimoCRM se distribuye como dos complementos. El complemento Free es todo el CRM 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 utilizarí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 hacerlo.
Modelo de datos, en resumen
Sección titulada «Modelo de datos, en resumen»- 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 pivote.
- Campañas, secuencias y automatizaciones: cada una gestiona sus propias tablas y son impulsadas 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 escritos 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.
Convenciones
Sección titulada «Convenciones»- Espacios de nombres: prefija tus ganchos, opciones y claves para que no colisionen. PrimoCRM utiliza el prefijo
primocrm_para los ganchos de PHP yprimocrm/v1para REST. - Capacidades: los puntos finales de REST comprueban una capacidad en su función de devolución de llamada de permisos. Respeta el mismo modelo en cualquier cosa que añadas.
- Fallo seguro: todo lo que no esté en la lista blanca de Free se trata como Pro. Si registras un nuevo activador o acción, decide deliberadamente si debe ser gratuito filtrando
primocrm_free_triggersoprimocrm_free_actions.
Dónde ir a continuación
Sección titulada «Dónde ir a continuación»- Acciones y filtros: la referencia completa de ganchos.
- API REST: espacio de nombres, autenticación y puntos finales.
- Ampliar PrimoCRM: recetas de copiar y pegar para campos, fuentes, activadores y remitentes.