Vue d'ensemble pour les développeurs
PrimoCRM est conçu pour être étendu. Cette section documente les hooks publics, l’API REST et les registres que vous utilisez pour ajouter des fonctionnalités sans modifier le noyau.
Aperçu de l’architecture
Section intitulée « Aperçu de l’architecture »- Interface d’administration : une application monopage React qui communique avec les contrôleurs REST PHP. Il y a une seule page d’administration avec un routage côté client.
- Contrôleurs REST : chaque module enregistre ses routes sous l’espace de noms
primocrm/v1surrest_api_init. Voir API REST. - Moteur d’arrière-plan : tout le travail de longue haleine (envoi de campagnes, séquences par étapes, étapes d’automatisation, importations) s’exécute via des processus cron auto-replanifiés et budgétisés en temps, jamais dans la requête de page. Lorsque vous ajoutez un élément qui contacte une API externe ou traite de nombreuses lignes, suivez le même modèle de file d’attente plutôt qu’un appel bloquant.
- Registres et filtres : les déclencheurs, actions, champs de formulaire, sources de migration et expéditeurs d’e-mails sont tous collectés via des filtres WordPress, de sorte que les modules complémentaires s’y enregistrent sans aucune modification du noyau. Voir Extension de PrimoCRM.
Gratuit et Pro
Section intitulée « Gratuit et Pro »PrimoCRM est livré sous forme de deux extensions. L’extension gratuite constitue l’ensemble du CRM et fonctionne de manière autonome. Le module complémentaire Pro définit une constante qui débloque les fonctionnalités premium et enregistre des déclencheurs, des actions et des expéditeurs supplémentaires via les mêmes filtres publics que votre propre code utiliserait.
Comme Pro utilise les points d’extension publics, les modèles de cette section correspondent exactement à la manière dont les fonctionnalités propriétaires de Pro sont conçues. Si Pro peut ajouter un déclencheur WooCommerce via primocrm_automation_triggers, vous le pouvez aussi.
Modèle de données, en bref
Section intitulée « Modèle de données, en bref »- Contacts : possèdent des champs standard ainsi que des champs personnalisés stockés en tant que méta de contact, et un statut qui contrôle la possibilité d’envoi d’e-mails.
- Listes et étiquettes : regroupent les contacts via des tables de liaison.
- Campagnes, séquences et automations : possèdent chacune leurs propres tables et sont pilotées par le moteur d’arrière-plan.
Les valeurs des champs personnalisés sont lisibles dans les e-mails sous la forme {{contact.meta.KEY}} et modifiables par les automations, ce qui constitue le point de jonction utilisé par l’action IA Pro. Voir Personnalisation et codes intelligents.
Conventions
Section intitulée « Conventions »- Espaces de noms : préfixez vos hooks, options et clés pour éviter les conflits. PrimoCRM utilise le préfixe
primocrm_pour les hooks PHP etprimocrm/v1pour REST. - Capacités : les points de terminaison REST vérifient une capacité dans leur fonction de rappel de permission. Respectez le même modèle dans tout ce que vous ajoutez.
- Sécurité par défaut : tout ce qui ne figure pas sur la liste blanche gratuite est considéré comme Pro. Si vous enregistrez un nouveau déclencheur ou une nouvelle action, décidez délibérément s’il doit être gratuit en filtrant
primocrm_free_triggersouprimocrm_free_actions.
Prochaines étapes
Section intitulée « Prochaines étapes »- Actions et filtres : la référence complète des hooks.
- API REST : espace de noms, authentification et points de terminaison.
- Extension de PrimoCRM : exemples prêts à l’emploi pour les champs, sources, déclencheurs et expéditeurs.