Ga naar inhoud

Acties en filters

PrimoCRM stelt WordPress-acties (gebeurtenissen waarop je kunt reageren) en filters (waarden en registers die je kunt aanpassen) beschikbaar. Alle hooks gebruiken het primocrm_-voorvoegsel.

PrimoCRM zelf bevat geen betaalde code en geen licentiecontroles. Alles wat de Pro-add-on toevoegt, voegt deze toe via de hooks op deze pagina, dus alles wat Pro hier kan, kan jouw eigen plugin ook doen.

Reageer hierop met add_action.

Hook Argumenten Wordt aangeroepen wanneer
primocrm_contact_created $contact_id Een contact wordt aangemaakt
primocrm_contact_updated $contact_id, $changed_keys Een contact wordt bijgewerkt ($changed_keys zijn de namen van de gewijzigde velden)
primocrm_contact_deleted $contact_id, $email Een contact wordt verwijderd (het adres wordt meegegeven omdat de rij al is verdwenen)
primocrm_contact_status_changed $contact_id, $new_status, $old_status De status van een contact wijzigt
primocrm_contact_unsubscribed $contact_id Een contact meldt zich af
primocrm_contact_resubscribed $contact_id Een contact meldt zich weer aan
primocrm_double_optin_confirmed $contact_id Een contact bevestigt een dubbele opt-in-link
primocrm_contact_tag_added $contact_id, $tag_id Een label wordt toegepast
primocrm_contact_tag_removed $contact_id, $tag_id Een label wordt verwijderd
primocrm_contact_list_added $contact_id, $list_id Toegevoegd aan een lijst
primocrm_contact_list_removed $contact_id, $list_id Verwijderd van een lijst
Hook Argumenten Wordt aangeroepen wanneer
primocrm_form_submitted $form_id, $entry_id, $contact_id, $data Een PrimoCRM-formulier wordt verwerkt
primocrm_email_opened $contact_id, $campaign_id Het openen van een e-mail wordt geregistreerd
primocrm_email_link_clicked $contact_id, $campaign_id, $url Er wordt geklikt op een geregistreerde link

Dit is de schrijfzijde van de campagne- en templateschermen. Een plugin die eigen instellingen toevoegt aan een campagne, slaat deze hier op, naast de campagne die de gebruiker zojuist heeft opgeslagen.

Hook Argumenten Wordt aangeroepen wanneer
primocrm_campaign_saved $campaign_id, $request, $is_new Een campagne wordt aangemaakt of bijgewerkt ($request is de WP_REST_Request)
primocrm_campaigns_deleted $campaign_ids Een of meer campagnes worden verwijderd
primocrm_email_template_saved $template_id, $request, $is_new Een e-mailtemplate wordt aangemaakt of bijgewerkt
primocrm_health_check_tick geen De gezondheidscontrole van de wachtrij van vijf minuten wordt uitgevoerd, een kant-en-klare plek voor periodiek werk
Hook Argumenten Wordt aangeroepen wanneer
primocrm_loaded $plugin Binnen de registratie van REST-routes. Een cataloguskoppeling, geen betrouwbare opstart-hook
primocrm_automations_paused_for_handlers $automation_ids Automatiseringen zijn gepauzeerd omdat een trigger- of actiehandler is verdwenen
primocrm_automations_resumed_for_handlers $automation_ids Die automatiseringen zijn hervat omdat de handler weer terug is

Voorbeeld:

add_action( 'primocrm_contact_created', function ( $contact_id ) {
error_log( "Nieuw PrimoCRM-contact: {$contact_id}" );
} );
add_action( 'primocrm_email_link_clicked', function ( $contact_id, $campaign_id, $url ) {
// Geef het contact een score, stuur een melding naar een kanaal, enz.
}, 10, 3 );

Deze verzamelen uitbreidbare onderdelen. Volledige handleidingen staan in Extending PrimoCRM.

Filter Waarde Doel
primocrm_automation_triggers array Automatiseringstriggers registreren of wijzigen
primocrm_automation_actions array Automatiseringsacties registreren of wijzigen
primocrm_condition_options array (fields, operators) Velden en operators voor de voorwaardenbouwer toevoegen
primocrm_form_field_types array (type naar klasse) Aangepaste formulierveldtypen registreren
primocrm_migration_sources array (sleutel naar bron) Migratiebronproviders registreren
primocrm_smart_code_catalog array Items toevoegen aan de keuzehulp voor slimme codes
primocrm_smart_codes $content, $contact, $context Je eigen slimme codes vervangen terwijl een e-mail wordt gerenderd
primocrm_mail_providers array (id naar beschrijving) Een API-e-mailprovider registreren, inclusief de benodigde instellingen
primocrm_smtp_send $result, $provider, $atts, $settings Het verzenden uitvoeren voor je provider. Geef null terug en PrimoCRM valt terug op wp_mail
primocrm_email_editors array (type naar beschrijving) Een e-maileditor registreren als templatetype
primocrm_double_optin_sources array van sleutels Welke contactbronnen dubbele opt-in vereisen

Een catalogusitem zonder geregistreerde handler wordt vermeld als niet-beschikbaar in plaats van verborgen, dus geef het een requires_plugin-tekenreeks mee die aangeeft wat het nodig heeft. PrimoCRM toont dit als “Vereist X” en weigert de selectie ervan.

De REST-payload voor één campagne of template, op weg naar de beheerapp. Gebruik deze om je eigen velden te sturen naar een UI die je hebt geïnjecteerd via de onderstaande JavaScript-koppelingen.

Filter Waarde Doel
primocrm_campaign_response $campaign, $campaign_id Je velden koppelen aan het antwoord van een enkele campagne
primocrm_email_template_response $template, $template_id Je velden koppelen aan het antwoord van een enkele template
primocrm_pre_send_campaign $taken_over, $campaign, $settings, $request Geef een WP_REST_Response terug om het verzenden volledig over te nemen. Bij al het andere verzendt PrimoCRM zoals gebruikelijk
primocrm_campaign_sent_elsewhere $handled, $campaign Geef true terug wanneer jouw code deze campagne al in de wachtrij heeft gezet, zodat de ingebouwde wachtrijbouwer deze overslaat
Filter Waarde Doel
primocrm_brand_name string De merknaam die wordt getoond in het beheergedeelte
primocrm_brand_menu_icon string Het pictogram in het beheermenu
primocrm_brand array De merkbeschrijving gelokaliseerd voor de app
primocrm_show_upsell bool Geef false terug om de knop “Upgrade” uit de beheerheader te verwijderen. De Pro-add-on doet dit automatisch voor je
primocrm_upgrade_url string Waar die knop naartoe verwijst
primocrm_show_reports_menu bool Geef true terug wanneer je een tabblad toevoegt via primocrm.reports.tabs, zodat de WordPress-zijbalk Rapporten weergeeft. Standaard uitgeschakeld, omdat het scherm zonder tabblad niets te tonen heeft. De Pro-add-on doet dit automatisch voor je
Filter Waarde Doel
primocrm_send_batch_size int E-mails per campagnewerkbatch
primocrm_send_rate_per_hour int Snelheidslimiet voor campagneverzending
primocrm_automation_batch_limit int Rijen per automatiseringswerkbatch
primocrm_email_body_retention_days int Hoe lang gerenderde e-mailinhoud wordt bewaard
primocrm_async_automation_delivery bool Asynchrone bezorging van e-mails van automatiseringen in- of uitschakelen
primocrm_auto_create_contact_status $status, $source Status voor contacten die automatisch worden aangemaakt door triggers of gebruikerssynchronisatie
primocrm_require_postal_address bool Of een postadres is vereist voordat een campagne kan worden verzonden
primocrm_trust_proxy_headers bool Of proxy-headers mogen worden vertrouwd voor het IP-adres van de indiener bij formulieren
primocrm_migration_step_budget float (seconden, standaard 10) Hoe lang één import- of migratieverzoek mag werken voordat het de controle teruggeeft en het volgende verzoek verdergaat

De beheerapp is een React Single Page App, en deze wp.hooks-filters bepalen hoe een andere plugin zijn eigen UI daarin plaatst. Er zijn geen op zichzelf staande add-on-pagina’s.

Elk filter retourneert beschrijvingen met een mount-callback, geen React-elementen: de app en jouw plugin draaien mogelijk verschillende React-versies, dus PrimoCRM geeft je een DOM-knooppunt waarin je zelf rendert.

Filter Doel
primocrm.settings.tabs Een tabblad toevoegen aan het instellingenscherm
primocrm.reports.tabs Een tabblad toevoegen aan Rapporten. Het rapportenscherm en het bijbehorende app-menu-item bestaan alleen zolang iets er een heeft geregistreerd; geef voor de invoer in de WordPress-zijbalk ook true terug vanuit primocrm_show_reports_menu
primocrm.campaigns.rowActions Een actie toevoegen aan een campagnerij
primocrm.campaignCreate.sections Een sectie toevoegen aan een genummerde stap van de campagne-wizard
primocrm.campaignDetails.panels Een paneel toevoegen aan het campagnedetailscherm
primocrm.emailEditor.init Je editor opbouwen in de container die PrimoCRM rendert voor jouw templatetype
primocrm.emailEditor.destroy Die editor vervolgens weer afbreken