Entwickler-Übersicht
PrimoCRM ist modular aufgebaut und lässt sich flexibel erweitern. Dieser Abschnitt dokumentiert die öffentlichen Hooks, die REST-API und die Registries, die Sie verwenden, um Funktionen hinzuzufügen, ohne den Core zu bearbeiten.
Architektur im Überblick
Abschnitt betitelt „Architektur im Überblick“- Admin-UI: eine React-Single-Page-Anwendung, die mit PHP-REST-Controllern kommuniziert. Es gibt eine Admin-Seite mit clientseitigem Routing.
- REST-Controller: Jedes Modul registriert seine Routen unter dem Namensraum
primocrm/v1beirest_api_init. Siehe REST-API. - Hintergrund-Engine: Alle zeitlich aufwändigen Prozesse (Kampagnenversand, Sequenz-Drips, Automatisierungsschritte, Importe) laufen über sich selbst neu einplanende, zeitbudgierte Cron-Worker und niemals im Seitenaufruf. Wenn Sie Funktionen hinzufügen, die eine externe API aufrufen oder viele Zeilen verarbeiten, folgen Sie demselben Warteschlangen-Muster anstelle eines blockierenden Aufrufs.
- Registries und Filter: Trigger, Aktionen, Formulardemfelder, Migrationsquellen und E-Mail-Sender werden alle über WordPress-Filter erfasst, sodass Add-ons sich ohne Core-Änderungen darin registrieren können. Siehe PrimoCRM erweitern.
Free und Pro
Abschnitt betitelt „Free und Pro“PrimoCRM wird als zwei Plugins ausgeliefert. Das Free-Plugin ist das vollständige CRM und funktioniert eigenständig. Das Pro-Add-on definiert eine Konstante, die Premium-Funktionen freischaltet und zusätzliche Trigger, Aktionen und Sender über dieselben öffentlichen Filter registriert, die auch Ihr eigener Code verwenden würde.
Da Pro die öffentlichen Erweiterungspunkte nutzt, entsprechen die Muster in diesem Abschnitt exakt der Art und Weise, wie First-Party-Pro-Funktionen entwickelt werden. Wenn Pro einen WooCommerce-Trigger über primocrm_automation_triggers hinzufügen kann, können Sie das auch.
Das Datenmodell in Kürze
Abschnitt betitelt „Das Datenmodell in Kürze“- Kontakte enthalten Standardfelder sowie benutzerdefinierte Felder, die als Kontakt-Meta gespeichert sind, und einen Status, der die Empfangbarkeit von E-Mails steuert.
- Listen und Tags gruppieren Kontakte über Zwischentabellen (Pivot-Tabellen).
- Kampagnen, Sequenzen und Automatisierungen verwalten jeweils eigene Tabellen und werden von der Hintergrund-Engine gesteuert.
Werte benutzerdefinierter Felder sind in E-Mails als {{contact.meta.KEY}} lesbar und von Automatisierungen beschreibbar, was die Schnittstelle darstellt, die die Pro-KI-Aktion nutzt. Siehe Personalisierung und Smart Codes.
Konventionen
Abschnitt betitelt „Konventionen“- Namensraum: Stellen Sie Ihren Hooks, Optionen und Schlüsseln ein Präfix voran, damit sie nicht kollidieren. PrimoCRM verwendet das Präfix
primocrm_für PHP-Hooks undprimocrm/v1für REST. - Berechtigungen: REST-Endpunkte prüfen eine Berechtigung in ihrem Berechtigungs-Callback. Respektieren Sie dasselbe Modell in allem, was Sie hinzufügen.
- Sicherheitsstandard (Fail closed): Alles, was nicht auf der Free-Whitelist steht, wird als Pro behandelt. Wenn Sie einen neuen Trigger oder eine neue Aktion registrieren, entscheiden Sie bewusst durch das Filtern von
primocrm_free_triggersoderprimocrm_free_actions, ob diese kostenlos sein sollen.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Aktionen und Filter: Die vollständige Hook-Referenz.
- REST-API: Namensraum, Authentifizierung und Endpunkte.
- PrimoCRM erweitern: Copy-Paste-Rezepte für Felder, Quellen, Trigger und Sender.