Zum Inhalt springen

Aktionen und Filter

PrimoCRM stellt WordPress-Aktionen (Ereignisse, auf die Sie reagieren können) und Filter (Werte und Registries, die Sie modifizieren können) bereit. Alle Hooks verwenden das Präfix primocrm_.

PrimoCRM selbst enthält keinen bezahlten Code und keine Lizenzprüfungen. Alles, was das Pro-Add-on hinzufügt, fügt es über die Hooks auf dieser Seite hinzu, sodass alles, was Pro hier tun kann, auch Ihr eigenes Plugin tun kann.

Reagieren Sie darauf mit add_action.

Hook Argumente Wird ausgeführt, wenn
primocrm_contact_created $contact_id Ein Kontakt erstellt wird
primocrm_contact_updated $contact_id, $changed_keys Ein Kontakt aktualisiert wird ($changed_keys sind die Namen der geänderten Felder)
primocrm_contact_deleted $contact_id, $email Ein Kontakt gelöscht wird (die Adresse wird übergeben, da die Zeile bereits entfernt wurde)
primocrm_contact_status_changed $contact_id, $new_status, $old_status Der Status eines Kontakts sich ändert
primocrm_contact_unsubscribed $contact_id Ein Kontakt sich abmeldet
primocrm_contact_resubscribed $contact_id Ein Kontakt sich wieder anmeldet
primocrm_double_optin_confirmed $contact_id Ein Kontakt einen Double-Opt-In-Link bestätigt
primocrm_contact_tag_added $contact_id, $tag_id Ein Tag zugewiesen wird
primocrm_contact_tag_removed $contact_id, $tag_id Ein Tag entfernt wird
primocrm_contact_list_added $contact_id, $list_id Zu einer Liste hinzugefügt wird
primocrm_contact_list_removed $contact_id, $list_id Aus einer Liste entfernt wird
Hook Argumente Wird ausgeführt, wenn
primocrm_form_submitted $form_id, $entry_id, $contact_id, $data Ein PrimoCRM-Formular verarbeitet wird
primocrm_email_opened $contact_id, $campaign_id Das Öffnen einer E-Mail erfasst wird
primocrm_email_link_clicked $contact_id, $campaign_id, $url Auf einen verfolgten Link geklickt wird

Dies ist die Schreibseite der Kampagnen- und Vorlagen-Bildschirme. Ein Plugin, das seine eigenen Einstellungen zu einer Kampagne hinzufügt, speichert diese hier, neben der Kampagne, die der Benutzer gerade gespeichert hat.

Hook Argumente Wird ausgeführt, wenn
primocrm_campaign_saved $campaign_id, $request, $is_new Eine Kampagne erstellt oder aktualisiert wird ($request ist der WP_REST_Request)
primocrm_campaigns_deleted $campaign_ids Eine oder mehrere Kampagnen gelöscht werden
primocrm_email_template_saved $template_id, $request, $is_new Eine E-Mail-Vorlage erstellt oder aktualisiert wird
primocrm_health_check_tick keine Die fünfminütige Integritätsprüfung der Warteschlange läuft, ein vorgefertigter Platz für periodische Arbeiten
Hook Argumente Wird ausgeführt, wenn
primocrm_loaded $plugin Innerhalb der REST-Routen-Registrierung. Ein Katalog-Handshake, kein zuverlässiger Boot-Hook
primocrm_automations_paused_for_handlers $automation_ids Automatisierungen angehalten wurden, weil ein Auslöser- oder Aktions-Handler verschwunden ist
primocrm_automations_resumed_for_handlers $automation_ids Diese Automatisierungen fortgesetzt wurden, weil der Handler zurückgekehrt ist

Beispiel:

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

Diese sammeln erweiterbare Elemente. Vollständige Anleitungen finden Sie unter PrimoCRM erweitern.

Filter Wert Zweck
primocrm_automation_triggers array Automatisierungsauslöser registrieren oder modifizieren
primocrm_automation_actions array Automatisierungsaktionen registrieren oder modifizieren
primocrm_condition_options array (fields, operators) Felder und Operatoren für den Bedingungs-Builder hinzufügen
primocrm_form_field_types array (Typ zu Klasse) Benutzerdefinierte Formularfeldtypen registrieren
primocrm_migration_sources array (Schlüssel zu Quelle) Migrationsquellen-Anbieter registrieren
primocrm_smart_code_catalog array Einträge zum Smart-Code-Picker hinzufügen
primocrm_smart_codes $content, $contact, $context Eigene Smart-Codes beim Rendern einer E-Mail ersetzen
primocrm_mail_providers array (ID zu Deskriptor) Einen API-E-Mail-Anbieter mit den erforderlichen Einstellungen registrieren
primocrm_smtp_send $result, $provider, $atts, $settings Den Versand für Ihren Anbieter durchführen. Geben Sie null zurück und PrimoCRM greift auf wp_mail zurück
primocrm_email_editors array (Typ zu Deskriptor) Einen E-Mail-Editor als Vorlagentyp registrieren
primocrm_double_optin_sources array von Schlüsseln Welche Kontaktquellen ein Double-Opt-In erfordern

Ein Katalegeintrag ohne registrierten Handler wird als nicht verfügbar anstatt als versteckt aufgeführt. Geben Sie ihm daher eine requires_plugin-Zeichenkette, die angibt, was er benötigt. PrimoCRM zeigt dies als „Erfordert X“ an und weigert sich, ihn auswählen zu lassen.

Die REST-Nutzdaten für eine Kampagne oder Vorlage auf dem Weg zur Admin-App. Verwenden Sie diese, um Ihre eigenen Felder an eine Benutzeroberfläche zu senden, die Sie über die JavaScript-Nahtstellen unten eingefügt haben.

Filter Wert Zweck
primocrm_campaign_response $campaign, $campaign_id Ihre Felder an eine einzelne Kampagnenantwort anhängen
primocrm_email_template_response $template, $template_id Ihre Felder an eine einzelne Vorlagenantwort anhängen
primocrm_pre_send_campaign $taken_over, $campaign, $settings, $request Gibt ein WP_REST_Response zurück, um den Versand vollständig zu übernehmen. Alles andere führt dazu, dass PrimoCRM normal sendet
primocrm_campaign_sent_elsewhere $handled, $campaign Gibt true zurück, wenn Ihr Code diese Kampagne bereits in die Warteschlange eingereiht hat, sodass der integrierte Warteschlangen-Builder sie überspringt
Filter Wert Zweck
primocrm_brand_name string Der im Administratorbereich angezeigte Markenname
primocrm_brand_menu_icon string Das Admin-Menüsymbol
primocrm_brand array Der für die App lokalisierte Marken-Deskriptor
primocrm_show_upsell bool Geben Sie false zurück, um die Schaltfläche „Upgrade“ aus dem Admin-Header zu entfernen. Das Pro-Add-on tut dies für Sie
primocrm_upgrade_url string Wohin diese Schaltfläche verweist
primocrm_show_reports_menu bool Gibt true zurück, wenn Sie über primocrm.reports.tabs einen Tab hinzufügen, sodass die WordPress-Seitenleiste Berichte anzeigt. Standardmäßig deaktiviert, da der Bildschirm ohne Tab nichts anzuzeigen hat. Das Pro-Add-on tut dies für Sie
Filter Wert Zweck
primocrm_send_batch_size int E-Mails pro Kampagnen-Worker-Batch
primocrm_send_rate_per_hour int Drosselung des Kampagnenversands
primocrm_automation_batch_limit int Zeilen pro Automatisierungs-Worker-Batch
primocrm_email_body_retention_days int Wie lange gerenderte E-Mail-Inhalte aufbewahrt werden
primocrm_async_automation_delivery bool Asynchrone Zustellung von Automatisierungs-E-Mails umschalten
primocrm_auto_create_contact_status $status, $source Status für Kontakte, die automatisch durch Trigger oder Benutzersynchronisierung erstellt wurden
primocrm_require_postal_address bool Ob eine Postanschrift erforderlich ist, bevor eine Kampagne gesendet werden kann
primocrm_trust_proxy_headers bool Ob Proxy-Header für die Absender-IP bei Formularen vertraut werden soll
primocrm_migration_step_budget float (Sekunden, Standard 10) Wie lange eine Import- oder Migrationsanfrage arbeiten darf, bevor sie zurückgibt und die nächste Anfrage fortfährt

Die Admin-App ist eine React-Single-Page-Anwendung, und diese wp.hooks-Filter ermöglichen es einem anderen Plugin, seine eigene Benutzeroberfläche darin einzubinden. Es gibt keine eigenständigen Add-on-Seiten.

Jeder Filter gibt Deskriptoren mit einem mount-Callback zurück, keine React-Elemente: Die App und Ihr Plugin verwenden möglicherweise unterschiedliche React-Versionen, sodass PrimoCRM Ihnen einen DOM-Knoten bereitstellt und Sie selbst hineinrendern.

Filter Zweck
primocrm.settings.tabs Einen Tab zum Einstellungsbildschirm hinzufügen
primocrm.reports.tabs Einen Tab zu Berichten hinzufügen. Der Berichts-Bildschirm und sein App-Menüelement existieren nur, solange etwas einen registriert hat; geben Sie für den WordPress-Seitenleisteneintrag zusätzlich true von primocrm_show_reports_menu zurück
primocrm.campaigns.rowActions Eine Aktion zu einer Kampagnenzeile hinzufügen
primocrm.campaignCreate.sections Einen Abschnitt zu einem nummerierten Schritt des Kampagnen-Assistenten hinzufügen
primocrm.campaignDetails.panels Ein Panel zum Kampagnendetail-Bildschirm hinzufügen
primocrm.emailEditor.init Ihren Editor in den Container einbauen, den PrimoCRM für Ihren Vorlagentyp rendert
primocrm.emailEditor.destroy Diesen Editor wieder abbauen