Actions & Filters
PrimoCRM expose des actions WordPress (événements auxquels vous pouvez réagir) et des filtres
(valeurs et registres que vous pouvez modifier). Tous les hooks utilisent le préfixe primocrm_.
PrimoCRM ne contient aucun code payant ni aucune vérification de licence. Tout ce que le module complémentaire Pro ajoute, il l’ajoute par le biais des hooks de cette page. Par conséquent, tout ce que Pro peut faire ici, votre propre plugin peut le faire aussi.
Hooks d’action (événements)
Section intitulée « Hooks d’action (événements) »Réagissez à ceux-ci avec add_action.
Cycle de vie du contact
Section intitulée « Cycle de vie du contact »| Hook | Arguments | Se déclenche lorsque |
|---|---|---|
primocrm_contact_created |
$contact_id |
Un contact est créé |
primocrm_contact_updated |
$contact_id, $changed_keys |
Un contact est mis à jour ($changed_keys sont les noms des champs modifiés) |
primocrm_contact_deleted |
$contact_id, $email |
Un contact est supprimé (l’adresse est transmise car la ligne a déjà disparu) |
primocrm_contact_status_changed |
$contact_id, $new_status, $old_status |
Le statut d’un contact change |
primocrm_contact_unsubscribed |
$contact_id |
Un contact se désabonne |
primocrm_contact_resubscribed |
$contact_id |
Un contact se réabonne |
primocrm_double_optin_confirmed |
$contact_id |
Un contact confirme un lien de double opt-in |
primocrm_contact_tag_added |
$contact_id, $tag_id |
Une étiquette est appliquée |
primocrm_contact_tag_removed |
$contact_id, $tag_id |
Une étiquette est retirée |
primocrm_contact_list_added |
$contact_id, $list_id |
Ajouté à une liste |
primocrm_contact_list_removed |
$contact_id, $list_id |
Retiré d’une liste |
Engagement et formulaires
Section intitulée « Engagement et formulaires »| Hook | Arguments | Se déclenche lorsque |
|---|---|---|
primocrm_form_submitted |
$form_id, $entry_id, $contact_id, $data |
Un formulaire PrimoCRM est traité |
primocrm_email_opened |
$contact_id, $campaign_id |
L’ouverture d’un e-mail est suivie |
primocrm_email_link_clicked |
$contact_id, $campaign_id, $url |
Un lien suivi est cliqué |
Campagnes et modèles d’e-mails
Section intitulée « Campagnes et modèles d’e-mails »Ce sont les points d’écriture des écrans de campagne et de modèle. Un plugin qui ajoute ses propres paramètres à une campagne les stocke ici, à côté de la campagne que l’utilisateur vient d’enregistrer.
| Hook | Arguments | Se déclenche lorsque |
|---|---|---|
primocrm_campaign_saved |
$campaign_id, $request, $is_new |
Une campagne est créée ou mise à jour ($request est le WP_REST_Request) |
primocrm_campaigns_deleted |
$campaign_ids |
Une ou plusieurs campagnes sont supprimées |
primocrm_email_template_saved |
$template_id, $request, $is_new |
Un modèle d’e-mail est créé ou mis à jour |
primocrm_health_check_tick |
aucun | La vérification de santé de la file d’attente de cinq minutes s’exécute, un emplacement prêt à l’emploi pour un travail périodique |
| Hook | Arguments | Se déclenche lorsque |
|---|---|---|
primocrm_loaded |
$plugin |
Lors de l’enregistrement de la route REST. Une négociation de catalogue, et non un hook de démarrage fiable |
primocrm_automations_paused_for_handlers |
$automation_ids |
Les automatisations ont été suspendues car un déclencheur ou un gestionnaire d’action a disparu |
primocrm_automations_resumed_for_handlers |
$automation_ids |
Ces automatisations ont repris parce que le gestionnaire est revenu |
Exemple :
add_action( 'primocrm_contact_created', function ( $contact_id ) { error_log( "Nouveau contact PrimoCRM : {$contact_id}" );} );
add_action( 'primocrm_email_link_clicked', function ( $contact_id, $campaign_id, $url ) { // Évaluer le contact, notifier un canal, etc.}, 10, 3 );Hooks de filtre (registres)
Section intitulée « Hooks de filtre (registres) »Ceux-ci regroupent les éléments extensibles. Des tutoriels complets se trouvent dans Extension de PrimoCRM.
| Filtre | Valeur | Objectif |
|---|---|---|
primocrm_automation_triggers |
array | Enregistrer ou modifier les déclencheurs d’automatisation |
primocrm_automation_actions |
array | Enregistrer ou modifier les actions d’automatisation |
primocrm_condition_options |
array (fields, operators) |
Ajouter des champs et des opérateurs au générateur de conditions |
primocrm_form_field_types |
array (type vers classe) | Enregistrer des types de champs de formulaire personnalisés |
primocrm_migration_sources |
array (clé vers source) | Enregistrer des fournisseurs de sources de migration |
primocrm_smart_code_catalog |
array | Ajouter des entrées au sélecteur de codes intelligents |
primocrm_smart_codes |
$content, $contact, $context |
Remplacer vos propres codes intelligents lors du rendu d’un e-mail |
primocrm_mail_providers |
array (id vers descripteur) | Enregistrer un fournisseur d’e-mails par API, avec les paramètres nécessaires |
primocrm_smtp_send |
$result, $provider, $atts, $settings |
Effectuer l’envoi pour votre fournisseur. Renvoyez null et PrimoCRM se repliera sur wp_mail |
primocrm_email_editors |
array (type vers descripteur) | Enregistrer un éditeur d’e-mails en tant que type de modèle |
primocrm_double_optin_sources |
tableau de clés | Quelles sources de contact nécessitent un double opt-in |
Une entrée de catalogue sans gestionnaire enregistré est répertoriée comme indisponible plutôt que
masquée, veuillez donc lui fournir une chaîne requires_plugin indiquant ce dont elle a besoin. PrimoCRM
l’affiche comme “Nécessite X” et refuse de la laisser être choisie.
Hooks de filtre (charges utiles)
Section intitulée « Hooks de filtre (charges utiles) »La charge utile REST pour une campagne ou un modèle, en route vers l’application d’administration. Utilisez ces éléments pour envoyer vos propres champs vers une interface utilisateur que vous avez injectée via les points d’ancrage JavaScript ci-dessous.
| Filtre | Valeur | Objectif |
|---|---|---|
primocrm_campaign_response |
$campaign, $campaign_id |
Attacher vos champs à une réponse de campagne unique |
primocrm_email_template_response |
$template, $template_id |
Attacher vos champs à une réponse de modèle unique |
primocrm_pre_send_campaign |
$taken_over, $campaign, $settings, $request |
Renvoyer un WP_REST_Response pour prendre entièrement en charge l’envoi. Pour tout le reste, PrimoCRM envoie normalement |
primocrm_campaign_sent_elsewhere |
$handled, $campaign |
Renvoyer true lorsque votre code a déjà mis cette campagne en file d’attente, afin que le générateur de file d’attente intégré l’ignore |
Image de marque et promotion
Section intitulée « Image de marque et promotion »| Filtre | Valeur | Objectif |
|---|---|---|
primocrm_brand_name |
string | Le nom de la marque affiché dans l’administration |
primocrm_brand_menu_icon |
string | L’icône du menu d’administration |
primocrm_brand |
array | Le descripteur de marque localisé pour l’application |
primocrm_show_upsell |
bool | Renvoyer false pour supprimer le bouton “Mettre à niveau” de l’en-tête d’administration. Le module complémentaire Pro fait cela pour vous |
primocrm_upgrade_url |
string | Où pointe ce bouton |
primocrm_show_reports_menu |
bool | Renvoyer true lorsque vous ajoutez un onglet via primocrm.reports.tabs, afin que la barre latérale WordPress liste Rapports. Désactivé par défaut, car sans onglet, l’écran n’a rien à afficher. Le module complémentaire Pro fait cela pour vous |
Hooks de filtre (comportement et réglage)
Section intitulée « Hooks de filtre (comportement et réglage) »| Filtre | Valeur | Objectif |
|---|---|---|
primocrm_send_batch_size |
int | Nombre d’e-mails par lot de traitement de campagne |
primocrm_send_rate_per_hour |
int | Limitation du débit d’envoi des campagnes |
primocrm_automation_batch_limit |
int | Nombre de lignes par lot de traitement d’automatisation |
primocrm_email_body_retention_days |
int | Durée de conservation des corps d’e-mails générés |
primocrm_async_automation_delivery |
bool | Activer/désactiver la livraison asynchrone des e-mails d’automatisation |
primocrm_auto_create_contact_status |
$status, $source |
Statut des contacts créés automatiquement par les déclencheurs ou la synchronisation des utilisateurs |
primocrm_require_postal_address |
bool | Indique si une adresse postale est requise avant qu’une campagne puisse être envoyée |
primocrm_trust_proxy_headers |
bool | Indique s’il faut faire confiance aux en-têtes proxy pour l’adresse IP de l’expéditeur sur les formulaires |
primocrm_migration_step_budget |
float (secondes, par défaut 10) | Durée pendant laquelle une requête d’importation ou de migration peut s’exécuter avant de passer la main et de laisser la requête suivante continuer |
Hooks JavaScript (wp.hooks)
Section intitulée « Hooks JavaScript (wp.hooks) »L’application d’administration est une application monopage React, et ces filtres wp.hooks permettent
à un autre plugin d’intégrer sa propre interface utilisateur. Il n’y a pas de pages de module complémentaire autonomes.
Chaque filtre renvoie des descripteurs avec un rappel mount, et non des éléments React :
l’application et votre plugin pouvant exécuter des versions de React différentes, PrimoCRM
vous fournit un nœud DOM dans lequel vous effectuez vous-même le rendu.
| Filtre | Objectif |
|---|---|
primocrm.settings.tabs |
Ajouter un onglet à l’écran des Paramètres |
primocrm.reports.tabs |
Ajouter un onglet aux Rapports. L’écran des Rapports et son élément de menu d’application n’existent que tant qu’un élément en a enregistré un ; pour l’entrée de la barre latérale WordPress, renvoyez également true depuis primocrm_show_reports_menu |
primocrm.campaigns.rowActions |
Ajouter une action à une ligne de campagne |
primocrm.campaignCreate.sections |
Ajouter une section à une étape numérotée de l’assistant de campagne |
primocrm.campaignDetails.panels |
Ajouter un panneau à l’écran de détail de la campagne |
primocrm.emailEditor.init |
Intégrer votre éditeur dans le conteneur que PrimoCRM génère pour votre type de modèle |
primocrm.emailEditor.destroy |
Supprimer à nouveau cet éditeur |