Zoho
7 hooks fired by Zoho: 5 filters and 2 actions across 7 call sites.
7 hooks fired by Zoho: 5 filters and 2 actions across 7 call sites. 7 of the 7 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/zoho/Components/Modal.js:47
xpac_zoho_contact_suppressed
Action · 3 arguments · 1 call site
Fires when a contact Zoho reported is not sent back to it.
do_action( 'xpac_zoho_contact_suppressed', self::asString($data['contactDetails'][Client::EMAIL_FIELD] ?? null), $item, $submission )$email(string) — Contact address that was skipped.$item(array) — The configured action it belonged to.$submission(Submission) — The submission being delivered.
Fired from:
packages/Zoho/Addon.php:2522
xpac_zoho_date_format
Filter · 2 arguments · 1 call site
Filters the date format Zoho Campaigns is sent dates in.
Zoho reads a contact date field in the account's own format and answers 1005 for anything else; MM/dd/yyyy is its default.
apply_filters( 'xpac_zoho_date_format', str_contains($type, 'time') ? 'm/d/Y H:i:s' : 'm/d/Y', $uiType )$format(string) — Date format. Default "m/d/Y", or "m/d/Y H:i:s" for a time.$uiType(string) — Zoho's own type for the field.
Fired from:
packages/Zoho/Addon.php:2377
xpac_zoho_request_timeout
Filter · 1 argument · 1 call site
Filters how long, in seconds, to wait for Zoho to answer.
These requests no longer run 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 Zoho's own response time turns a push that worked into a needless retry. Ten rather than WordPress's five, for that reason.
apply_filters( 'xpac_zoho_request_timeout', 10 )$timeout(int) — Seconds to wait. Default 10.
Fired from:
packages/Zoho/Client.php:320
xpac_zoho_suppress_reported_contacts
Filter · 3 arguments · 1 call site
Filters whether a contact Zoho has reported is kept off the list.
The default is the "Don't re-add reported contacts" setting under XPAC → Integrations → Zoho, which is off unless the owner turns it on: the address is sent again and Zoho decides, as every site configured before the webhook existed already does. Turn it on and an address Zoho told this site had unsubscribed or bounced is not re-added by the next submission.
apply_filters( 'xpac_zoho_suppress_reported_contacts', is_array($shared) && ! empty($shared['zoho_' . self::SUPPRESS_FIELD]), $email, $record )$suppress(bool) — Whether to skip the contact. Default: the setting.$email(string) — Contact address.$record(array) — What Zoho reported, and when.
Fired from:
packages/Zoho/Addon.php:1136
xpac_zoho_typed_contact_fields
Filter · 2 arguments · 1 call site
Filters whether mapped answers are sent in Zoho's own field types.
Everything has always reached Zoho as text, so a date field holds whatever the form's date control produced and a number field holds a string. Zoho cannot segment on either, and answers 1005 or 2005 for a value it cannot parse at all.
Default false, and deliberately: turning it on changes the value that is written into Zoho for every contact this form sends from now on. A segment or a merge tag built on the text Zoho already holds stops matching the new contacts, and the ones already stored are not rewritten, so the list ends up in two formats. Turn it on for a list whose segments you can check, not site-wide and not silently.
apply_filters( 'xpac_zoho_typed_contact_fields', false, $item )$typed(bool) — Whether to coerce values. Default false.$item(array) — The configured action the values belong to.
Fired from:
packages/Zoho/Addon.php:2340
xpac_zoho_webhook
Action · 3 arguments · 1 call site
Fires for a Zoho Campaigns contact event this site accepted.
The secret in the URL has been compared, so the call came from a webhook this site handed out. Everything else in the payload is whatever the owner configured Zoho to send.
do_action( 'xpac_zoho_webhook', $event, $email, $params )$event(string) — Normalised event: unsubscribe, bounce, spam or subscribe.$email(string) — Contact address the event is about.$params(array) — Parameters as Zoho sent them, minus the secret.
Fired from:
packages/Zoho/Addon.php:990