Ga naar inhoud

Ontwikkelaarsoverzicht

PrimoCRM is ontworpen om te worden uitgebreid. Deze sectie beschrijft de openbare hooks, de REST API en de registers die je gebruikt om functionaliteit toe te voegen zonder de kern aan te passen.

  • Admin-interface: een enkele React-pagina die communiceert met PHP REST-controllers. Er is één admin-pagina met client-side routering.
  • REST-controllers: elke module registreert zijn routes onder de primocrm/v1-naamruimte bij rest_api_init. Zie REST API.
  • Achtergrondengine: al het langlopende werk (campagneverzendingen, drip-sequenties, automatiestappen, importen) loopt via zelfplannende cron-workers met een tijdsbudget, en nooit binnen het paginaverzoek. Wanneer je iets toevoegt dat een externe API aanroept of veel rijen verwerkt, volg dan hetzelfde wachtrijpatroon in plaats van een blokkerende aanroep.
  • Registers en filters: triggers, acties, formuliervelden, migratiebronnen en e-mailverzenders worden allemaal verzameld via WordPress-filters, zodat add-ons zich hierop registreren zonder wijzigingen aan de kern. Zie PrimoCRM uitbreiden.

PrimoCRM wordt geleverd als twee plugins. De gratis plugin is het volledige CRM en werkt zelfstandig. De Pro-add-on definieert een constante die premium functionaliteiten ontgrendelt en extra triggers, acties en verzenders registreert via dezelfde openbare filters die jouw eigen code zou gebruiken.

Omdat Pro gebruikmaakt van de openbare uitbreidingspunten, zijn de patronen in deze sectie precies hoe first-party Pro-functies zijn gebouwd. Als Pro een WooCommerce-trigger kan toevoegen via primocrm_automation_triggers, dan kun jij dat ook.

  • Contacten bevatten standaardvelden plus aangepaste velden opgeslagen als contactmeta, en een status die de verzendbaarheid regelt.
  • Lijsten en tags groeperen contacten via koppelingstabellen.
  • Campagnes, sequenties en automatiseringen hebben elk hun eigen tabellen en worden aangestuurd door de achtergrondengine.

Waarden van aangepaste velden zijn leesbaar in e-mails als {{contact.meta.KEY}} en schrijfbaar door automatiseringen, wat het snijvlak is dat de Pro AI-actie gebruikt. Zie Personalisatie en Smart Codes.

  • Naamruimten: geef je hooks, opties en sleutels een voorvoegsel zodat ze niet botsen. PrimoCRM gebruikt het voorvoegsel primocrm_ voor PHP-hooks en primocrm/v1 voor REST.
  • Rechten: REST-endpoints controleren een permissie in hun machtigingscallback. Hanteer hetzelfde model in alles wat je toevoegt.
  • Standaard afwijzen: alles wat niet op de gratis wittest staan staat, wordt beschouwd als Pro. Als je een nieuwe trigger of actie registreert, bepaal dan bewust of deze gratis moet zijn door te filteren op primocrm_free_triggers of primocrm_free_actions.