Salta ai contenuti

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.

Reagisci a questi con add_action.

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

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
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 );

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.

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

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