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.
Actie-hooks (gebeurtenissen)
Section titled “Actie-hooks (gebeurtenissen)”Reageer hierop met add_action.
Contactlevenscyclus
Section titled “Contactlevenscyclus”| 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 |
Betrokkenheid en formulieren
Section titled “Betrokkenheid en formulieren”| 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 |
Campagnes en e-mailtemplates
Section titled “Campagnes en e-mailtemplates”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 |
Systeem
Section titled “Systeem”| 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 );Filter-hooks (registers)
Section titled “Filter-hooks (registers)”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.
Filter-hooks (payloads)
Section titled “Filter-hooks (payloads)”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 |
Branding en promotie
Section titled “Branding en promotie”| 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-hooks (gedrag en afstelling)
Section titled “Filter-hooks (gedrag en afstelling)”| 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 |
JavaScript-hooks (wp.hooks)
Section titled “JavaScript-hooks (wp.hooks)”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 |