Azioni e Filtri
PrimoCRM espone azioni di WordPress (eventi a cui puoi reagire) e filtri
(valori e registri che puoi modificare). Tutti i ganci usano il prefisso primocrm_.
PrimoCRM di per sé non include codice a pagamento né controlli di licenza. Tutto ciò che il componente aggiuntivo Pro inserisce, lo aggiunge tramite i ganci di questa pagina, quindi qualsiasi cosa Pro possa fare, può farlo anche il tuo plugin.
Ganci di azione (eventi)
Sezione intitolata “Ganci di azione (eventi)”Reagisci a questi con add_action.
Ciclo di vita del contatto
Sezione intitolata “Ciclo di vita del contatto”| Gancio | Argomenti | Si attiva quando |
|---|---|---|
primocrm_contact_created |
$contact_id |
Viene creato un contatto |
primocrm_contact_updated |
$contact_id, $changed_keys |
Viene aggiornato un contatto ($changed_keys sono i nomi dei campi modificati) |
primocrm_contact_deleted |
$contact_id, $email |
Viene eliminato un contatto (l’indirizzo viene passato perché la riga è già rimossa) |
primocrm_contact_status_changed |
$contact_id, $new_status, $old_status |
Lo stato di un contatto cambia |
primocrm_contact_unsubscribed |
$contact_id |
Un contatto si disiscrive |
primocrm_contact_resubscribed |
$contact_id |
Un contatto si iscrive nuovamente |
primocrm_double_optin_confirmed |
$contact_id |
Un contatto conferma un link di double opt-in |
primocrm_contact_tag_added |
$contact_id, $tag_id |
Viene applicato un tag |
primocrm_contact_tag_removed |
$contact_id, $tag_id |
Viene rimosso un tag |
primocrm_contact_list_added |
$contact_id, $list_id |
Viene aggiunto a una lista |
primocrm_contact_list_removed |
$contact_id, $list_id |
Viene rimosso da una lista |
Coinvolgimento e moduli
Sezione intitolata “Coinvolgimento e moduli”| Gancio | Argomenti | Si attiva quando |
|---|---|---|
primocrm_form_submitted |
$form_id, $entry_id, $contact_id, $data |
Viene elaborato un modulo di PrimoCRM |
primocrm_email_opened |
$contact_id, $campaign_id |
Viene tracciata l’apertura di un’email |
primocrm_email_link_clicked |
$contact_id, $campaign_id, $url |
Viene fatto clic su un link tracciato |
Campagne e modelli di email
Sezione intitolata “Campagne e modelli di email”Questi costituiscono il lato di scrittura delle schermate delle campagne e dei modelli. Un plugin che aggiunge le proprie impostazioni a una campagna le memorizza qui, accanto alla campagna che l’utente ha appena salvato.
| Gancio | Argomenti | Si attiva quando |
|---|---|---|
primocrm_campaign_saved |
$campaign_id, $request, $is_new |
Una campagna viene creata o aggiornata ($request è la WP_REST_Request) |
primocrm_campaigns_deleted |
$campaign_ids |
Una o più campagne vengono eliminate |
primocrm_email_template_saved |
$template_id, $request, $is_new |
Un modello di email viene creato o aggiornato |
primocrm_health_check_tick |
nessuno | Viene eseguito il controllo dello stato della coda ogni cinque minuti, uno slot pronto all’uso per attività periodiche |
Sistema
Sezione intitolata “Sistema”| Gancio | Argomenti | Si attiva quando |
|---|---|---|
primocrm_loaded |
$plugin |
Durante la registrazione delle route REST. Un handshake del catalogo, non un gancio di avvio affidabile |
primocrm_automations_paused_for_handlers |
$automation_ids |
Le automazioni sono state messe in pausa perché un gestore di trigger o azioni è scomparso |
primocrm_automations_resumed_for_handlers |
$automation_ids |
Quelle automazioni sono state riprese perché il gestore è tornato disponibile |
Esempio:
add_action( 'primocrm_contact_created', function ( $contact_id ) { error_log( "New PrimoCRM contact: {$contact_id}" );} );
add_action( 'primocrm_email_link_clicked', function ( $contact_id, $campaign_id, $url ) { // Score the contact, notify a channel, etc.}, 10, 3 );Ganci di filtro (registri)
Sezione intitolata “Ganci di filtro (registri)”Questi raccolgono elementi estendibili. Le guide complete sono disponibili in Estendere PrimoCRM.
| Filtro | Valore | Scopo |
|---|---|---|
primocrm_automation_triggers |
array | Registra o modifica i trigger di automazione |
primocrm_automation_actions |
array | Registra o modifica le azioni di automazione |
primocrm_condition_options |
array (fields, operators) |
Aggiunge campi e operatori per la creazione di condizioni |
primocrm_form_field_types |
array (type to class) | Registra tipi di campo personalizzati per i moduli |
primocrm_migration_sources |
array (key to source) | Registra i provider di origine per le migrazioni |
primocrm_smart_code_catalog |
array | Aggiunge voci al selettore di codici intelligenti |
primocrm_smart_codes |
$content, $contact, $context |
Sostituisce i tuoi codici intelligenti durante il rendering di un’email |
primocrm_mail_providers |
array (id to descriptor) | Registra un provider di posta API, con le impostazioni necessarie |
primocrm_smtp_send |
$result, $provider, $atts, $settings |
Esegue l’invio per il tuo provider. Restituisce null e PrimoCRM utilizza il fallback su wp_mail |
primocrm_email_editors |
array (type to descriptor) | Registra un editor di email come tipo di modello |
primocrm_double_optin_sources |
array of keys | Quali origini di contatto richiedono il double opt-in |
Una voce del catalogo senza un gestore registrato viene elencata come non disponibile anziché
nascosta, quindi assegnale una stringa requires_plugin che specifichi ciò di cui ha bisogno. PrimoCRM
la mostra come “Richiede X” e impedisce che venga selezionata.
Ganci di filtro (payload)
Sezione intitolata “Ganci di filtro (payload)”Il payload REST per una singola campagna o modello, diretto all’app di amministrazione. Usa questi filtri per inviare i tuoi campi a un’interfaccia utente inserita tramite le interfacce JavaScript indicate di seguito.
| Filtro | Valore | Scopo |
|---|---|---|
primocrm_campaign_response |
$campaign, $campaign_id |
Associa i tuoi campi alla risposta di una singola campagna |
primocrm_email_template_response |
$template, $template_id |
Associa i tuoi campi alla risposta di un singolo modello |
primocrm_pre_send_campaign |
$taken_over, $campaign, $settings, $request |
Restituisce un oggetto WP_REST_Response per gestire interamente l’invio. Qualsiasi altro valore farà sì che PrimoCRM invii normalmente |
primocrm_campaign_sent_elsewhere |
$handled, $campaign |
Restituisce true quando il tuo codice ha già messo in coda questa campagna, in modo che il generatore di code predefinito la ignori |
Branding e promozione
Sezione intitolata “Branding e promozione”| Filtro | Valore | Scopo |
|---|---|---|
primocrm_brand_name |
string | Il nome del brand mostrato nell’amministrazione |
primocrm_brand_menu_icon |
string | L’icona del menu di amministrazione |
primocrm_brand |
array | Il descrittore del brand localizzato per l’app |
primocrm_show_upsell |
bool | Restituisce false per rimuovere il pulsante “Aggiorna” dall’intestazione di amministrazione. Il componente aggiuntivo Pro lo fa automaticamente |
primocrm_upgrade_url |
string | La destinazione a cui punta quel pulsante |
primocrm_show_reports_menu |
bool | Restituisce true quando aggiungi una scheda tramite primocrm.reports.tabs, in modo che la barra laterale di WordPress elenchi Report. Disattivato per impostazione predefinita perché senza una scheda la schermata non ha contenuti da mostrare. Il componente aggiuntivo Pro lo fa automaticamente |
Ganci di filtro (comportamento e ottimizzazione)
Sezione intitolata “Ganci di filtro (comportamento e ottimizzazione)”| Filtro | Valore | Scopo |
|---|---|---|
primocrm_send_batch_size |
int | Numero di email per batch del worker delle campagne |
primocrm_send_rate_per_hour |
int | Limitazione della velocità di invio delle campagne |
primocrm_automation_batch_limit |
int | Numero di righe per batch del worker delle automazioni |
primocrm_email_body_retention_days |
int | Durata della conservazione dei corpi delle email renderizzate |
primocrm_async_automation_delivery |
bool | Attiva o disattiva la consegna asincrona delle email di automazione |
primocrm_auto_create_contact_status |
$status, $source |
Stato per i contatti creati automaticamente da trigger o sincronizzazione utente |
primocrm_require_postal_address |
bool | Specifica se è richiesto un indirizzo postale prima di poter inviare una campagna |
primocrm_trust_proxy_headers |
bool | Specifica se considerare attendibili gli header proxy per l’IP del mittente nei moduli |
primocrm_migration_step_budget |
float (seconds, default 10) | Durata massima di esecuzione di una richiesta di importazione o migrazione prima di restituire il controllo e consentire alla richiesta successiva di continuare |
Ganci JavaScript (wp.hooks)
Sezione intitolata “Ganci JavaScript (wp.hooks)”L’app di amministrazione è un’applicazione a pagina singola basata su React, e questi filtri wp.hooks sono il metodo
con cui un altro plugin inserisce la propria interfaccia utente al suo interno. Non esistono pagine di componenti aggiuntivi indipendenti.
Ogni filtro restituisce descrittori con un callback mount, non elementi React:
l’app e il tuo plugin potrebbero eseguire versioni di React differenti, quindi PrimoCRM
ti fornisce un nodo DOM in cui effettuare il rendering in autonomia.
| Filtro | Scopo |
|---|---|
primocrm.settings.tabs |
Aggiunge una scheda alla schermata delle Impostazioni |
primocrm.reports.tabs |
Aggiunge una scheda ai Report. La schermata dei Report e la voce di menu corrispondente esistono solo se qualcuno ne ha registrata una; per la voce nella barra laterale di WordPress, restituisci anche true da primocrm_show_reports_menu |
primocrm.campaigns.rowActions |
Aggiunge un’azione a una riga della campagna |
primocrm.campaignCreate.sections |
Aggiunge una sezione a un passaggio numerato della procedura guidata della campagna |
primocrm.campaignDetails.panels |
Aggiunge un pannello alla schermata dei dettagli della campagna |
primocrm.emailEditor.init |
Integra il tuo editor nel contenitore che PrimoCRM esegue per il tuo tipo di modello |
primocrm.emailEditor.destroy |
Rimuove nuovamente quell’editor |