Brevo
8 hooks fired by Brevo: 6 filters and 2 actions across 8 call sites.
8 hooks fired by Brevo: 6 filters and 2 actions across 8 call sites. 8 of the 8 call sites are described by a docblock, at the call or on the constant that names the hook; the rest are listed with their signature and call sites only. Paths are relative to the plugin directory.
xpac-forms-after-settings-modal-content
Filter · 3 arguments · 1 call site
Content appended inside a settings panel's item modal.
applyFilters( 'xpac-forms-after-settings-modal-content', [], { value: options, onChange: onUpdate, }, `xpac-${ID}` )Fired from:
assets/packages/brevo/Components/Modal.js:482
xpac_brevo_check_double_optin
Filter · 1 argument · 1 call site
Filters whether the connection test also reports double opt-in readiness.
The check opens one template at a time, so an account with a great many of them pays for it on every press of the button.
apply_filters( 'xpac_brevo_check_double_optin', true )$check(bool) — Whether to run the check. Default true.
Fired from:
packages/Brevo/Addon.php:806
xpac_brevo_contact_suppressed
Action · 3 arguments · 1 call site
Fires when Brevo reports that an address should no longer be mailed.
The place to mark an entry, tell an author, or write the decision somewhere the site already keeps consent.
do_action( 'xpac_brevo_contact_suppressed', $email, $reason, $event )$email(string) — The address.$reason(string) — One of unsubscribed, hard_bounce, spam.$event(array) — The whole event.
Fired from:
packages/Brevo/Addon.php:1068
xpac_brevo_payload
Filter · 4 arguments · 1 call site
Filters one Brevo request body before it is sent.
The place to add an attribute the form does not collect, an ext_id,
a tag, or a smtpBlacklistSender entry. $action says which verb is
being sent, so one callback can serve them all.
apply_filters( 'xpac_brevo_payload', $body, $action, $item, $submission )$body(array) — Body as this package built it.$action(string) — One of subscribe, unsubscribe, sendEmail, trackEvent.$item(array) — The configured action.$submission(Submission) — Submission being delivered.
Fired from:
packages/Brevo/Addon.php:2119
xpac_brevo_request_timeout
Filter · 1 argument · 1 call site
Filters how long, in seconds, to wait for Brevo to reply.
The request no longer runs inside the visitor's submission, so this is a tolerance for a slow API rather than a latency budget: nothing is waiting on it, and a timeout shorter than Brevo's own response time turns a contact that was in fact created into a needless retry.
apply_filters( 'xpac_brevo_request_timeout', 10 )$timeout(int) — Seconds to wait. Default 10.
Fired from:
packages/Brevo/Client.php:81
xpac_brevo_skip_suppressed
Filter · 4 arguments · 1 call site
Filters whether an address Brevo has suppressed is skipped.
Off, because that is what every site configured before the webhook existed has been doing: the contact is sent and Brevo decides. On, a hard bounce or a spam complaint reported over the webhook stops the site offering the same address again.
apply_filters( 'xpac_brevo_skip_suppressed', false, $resolved['email'], $item, $submission )$skip(bool) — Whether to skip. Default false.$email(string) — The address.$item(array) — The configured action.$submission(Submission) — Submission being delivered.
Fired from:
packages/Brevo/Addon.php:2312
xpac_brevo_webhook
Action · 3 arguments · 1 call site
Fires for every event a verified Brevo webhook delivered.
The shared secret has already been checked, so the event is genuine. Fires for the opens, clicks and deliveries this package does nothing with as well as for the three it acts on.
do_action( 'xpac_brevo_webhook', $name, $email, $event )$name(string) — Brevo's event name, as Brevo spelled it.$email(string) — Address the event is about, empty when it names none.$event(array) — The whole event.
Fired from:
packages/Brevo/Addon.php:1046
xpac_brevo_writable_attribute_categories
Filter · 1 argument · 1 call site
Filters which attribute categories the mapping dropdown offers.
transactional is the one worth taking out. Brevo accepts a write to
one and answers 201, then files the value under
statistics.transacAttributes rather than under attributes —
verified against the live API — so it never appears where the owner
reads a contact. Removing it here stops new rows being made; rows
already saved keep their target and go on being sent exactly as they
were, because a stored row names its attribute and never re-reads
this list.
apply_filters( 'xpac_brevo_writable_attribute_categories', self::WRITABLE_CATEGORIES )$categories(array) — Attribute categories a submission may write to.
Fired from:
packages/Brevo/Addon.php:1384