Aller au contenu

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.

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

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.

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

  • 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 et primocrm/v1 pour 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_triggers ou primocrm_free_actions.
  • 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.