Panoramica per sviluppatori
PrimoCRM è progettato per essere esteso. Questa sezione documenta gli hook pubblici, l’API REST e i registri che puoi utilizzare per aggiungere funzionalità senza modificare il codice principale.
Panoramica dell’architettura
Sezione intitolata “Panoramica dell’architettura”- Interfaccia di amministrazione: una single-page app in React che comunica con i controller REST in PHP. C’è una sola pagina di amministrazione con routing lato client.
- Controller REST: ciascun modulo registra le proprie rotte sotto il namespace
primocrm/v1surest_api_init. Vedi API REST. - Motore in background: tutte le attività a esecuzione prolungata (invio di campagne, sequenze, passaggi di automazione, importazioni) vengono eseguite tramite worker cron con ripianificazione automatica e budget di tempo, mai durante la richiesta della pagina. Quando aggiungi qualsiasi cosa che si colleghi a un’API esterna o elabori molte righe, segui lo stesso pattern di coda anziché una chiamata bloccante.
- Registri e filtri: trigger, azioni, campi dei moduli, origini di migrazione e mittenti di email vengono tutti raccolti tramite i filtri di WordPress, quindi i componenti aggiuntivi si registrano in essi senza alcuna modifica al core. Vedi Estendere PrimoCRM.
Free e Pro
Sezione intitolata “Free e Pro”PrimoCRM viene fornito come due plugin. Il plugin Free è il CRM completo e funziona in modo autonomo. Il componente aggiuntivo Pro definisce una costante che sblocca le funzionalità premium e registra ulteriori trigger, azioni e mittenti attraverso gli stessi filtri pubblici che userebbe il tuo codice.
Poiché Pro utilizza i punti di estensione pubblici, i pattern in questa sezione sono esattamente il modo in cui vengono create le funzionalità Pro di prima parte. Se Pro può aggiungere un trigger WooCommerce tramite primocrm_automation_triggers, puoi farlo anche tu.
Modello dati in breve
Sezione intitolata “Modello dati in breve”- Contatti: contengono campi standard più campi personalizzati archiviati come metadati del contatto e uno stato che controlla la ricezione delle email.
- Liste e tag raggruppano i contatti tramite tabelle pivot.
- Campagne, sequenze e automazioni gestiscono le proprie tabelle e sono guidate dal motore in background.
I valori dei campi personalizzati sono leggibili nelle email come {{contact.meta.KEY}} e scrivibili dalle automazioni, che è il punto di contatto utilizzato dall’azione IA di Pro. Vedi Personalizzazione e Smart Codes.
Convenzioni
Sezione intitolata “Convenzioni”- Namespacing: usa un prefisso per hook, opzioni e chiavi in modo che non vadano in conflitto. PrimoCRM usa il prefisso
primocrm_per gli hook PHP eprimocrm/v1per le API REST. - Capabilities: gli endpoint REST verificano una capability nel loro callback di autorizzazione. Rispetta lo stesso modello in qualsiasi cosa tu aggiunga.
- Fail closed: tutto ciò che non si trova nella whitelist di Free viene considerato Pro. Se registri un nuovo trigger o una nuova azione, decidi deliberatamente se debba essere gratuito filtrando
primocrm_free_triggersoprimocrm_free_actions.
Dove andare dopo
Sezione intitolata “Dove andare dopo”- Azioni e filtri: il riferimento completo agli hook.
- API REST: namespace, autenticazione ed endpoint.
- Estendere PrimoCRM: ricette copia-incolla per campi, origini, trigger e mittenti.