Salta ai contenuti

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.

  • 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/v1 su rest_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.

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.

  • 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.

  • 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 e primocrm/v1 per 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_triggers o primocrm_free_actions.