Ga naar inhoud

Developer Overview

PrimoCRM is gebouwd om te worden uitgebreid. Dit gedeelte beschrijft de publieke hooks, de REST API en de registers die u gebruikt om functionaliteit toe te voegen zonder de kern aan te passen.

  • Admin-interface: een React single-page app die communiceert met PHP REST-controllers. Er is één admin-pagina met client-side routing.
  • REST-controllers: elke module registreert zijn routes onder de primocrm/v1 namespace bij rest_api_init. Zie REST API.
  • Achtergrondengine: al het langlopende werk (campagneverzendingen, sequencedruppels, automatiseringstappen, imports) loopt via zichzelf herschikkende, tijdgebudgetteerde cron-workers, nooit in het paginaverzoek. Wanneer u 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 dat de kern hoeft te worden aangepast. Zie PrimoCRM uitbreiden.

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

Omdat Pro gebruikmaakt van de publieke uitbreidingspunten, zijn de patronen in dit gedeelte precies hoe first-party Pro-functies zijn gebouwd. Als Pro een WooCommerce-trigger kan toevoegen via primocrm_automation_triggers, dan kunt u 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, sequences 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 raakvlak is dat de Pro AI-actie gebruikt. Zie Personalisatie en smart codes.

  • Naamruimten: geef uw hooks, opties en sleutels een voorvoegsel zodat ze niet botsen. PrimoCRM gebruikt het voorvoegsel primocrm_ voor PHP-hooks en primocrm/v1 voor REST.
  • Capaciteiten: REST-endpoints controleren een capaciteit in hun machtigingscallback. Respecteer hetzelfde model in alles wat u toevoegt.
  • Niets is vergrendeld: PrimoCRM heeft geen gratis/betaald toelatingslijstje. Wat is geregistreerd, wordt uitgevoerd. Als uw trigger of actie een plugin vereist die niet is geïnstalleerd, registreer deze dan toch met een requires_plugin-tekenreeks, en PrimoCRM vermeldt deze als niet beschikbaar in plaats van te verbergen.