Перейти к содержимому

Действия и фильтры

PrimoCRM предоставляет действия WordPress (события, на которые можно реагировать) и фильтры (значения и реестры, которые можно изменять). Все хуки используют префикс primocrm_.

Реагируйте на них с помощью функции add_action.

Хук Аргументы Срабатывает, когда
primocrm_contact_created $contact_id Создан контакт
primocrm_contact_updated $contact_id, $changed_keys Контакт обновлен ($changed_keys содержат имена измененных полей)
primocrm_contact_status_changed $contact_id, $new_status, $old_status Статус контакта изменяется
primocrm_contact_unsubscribed $contact_id Контакт отписывается от рассылки
primocrm_contact_tag_added $contact_id, $tag_id К контакту применяется метка
primocrm_contact_tag_removed $contact_id, $tag_id Метка удаляется у контакта
primocrm_contact_list_added $contact_id, $list_id Контакт добавлен в список
primocrm_contact_list_removed $contact_id, $list_id Контакт удален из списка
Хук Аргументы Срабатывает, когда
primocrm_form_submitted $form_id, $entry_id, $contact_id, $data Обрабатывается форма PrimoCRM
primocrm_email_opened $contact_id, $campaign_id Отслеживается открытие письма
primocrm_email_link_clicked $contact_id, $campaign_id, $url Происходит клик по отслеживаемой ссылке
Хук Аргументы Срабатывает, когда
primocrm_loaded нет Во время регистрации REST-маршрутов. Это рукопожатие каталога, а не надежный загрузочный хук
primocrm_pro_downgraded Лицензия Pro потеряна или истекла
primocrm_pro_resumed Лицензия Pro восстановлена
primocrm_ab_evaluate_winners Во время тика крона, оценивающего победителей A/B тестов

Пример:

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 ) {
// Оценить контакт, отправить уведомление в канал и т.д.
}, 10, 3 );

Они собирают расширяемые элементы. Полные руководства находятся в разделе Расширение PrimoCRM.

Фильтр Значение Назначение
primocrm_automation_triggers array Регистрация или изменение триггеров автоматизации
primocrm_automation_actions array Регистрация или изменение действий автоматизации
primocrm_condition_options array (fields, operators) Добавление полей и операторов конструктора условий
primocrm_form_field_types array (type to class) Регистрация пользовательских типов полей форм
primocrm_migration_sources array (key to source) Регистрация провайдеров источников миграции
primocrm_smtp_send $result, $provider, $atts, $settings Предоставление отправителя писем (способ интеграции ESP-провайдеров)
primocrm_ab_manager object Предоставление реализации менеджера A/B тестов
Фильтр Значение Назначение
primocrm_free_triggers array of keys Какие триггеры бесплатны (остальные заблокированы)
primocrm_free_actions array of keys Какие действия бесплатны
primocrm_free_limits array Лимиты количества ресурсов для бесплатного тарифа
primocrm_upgrade_url string URL, на который ссылаются подсказки об обновлении тарифа
Фильтр Значение Назначение
primocrm_send_batch_size int Количество писем в пакете обработчика кампаний
primocrm_send_rate_per_hour int Ограничение скорости отправки кампаний
primocrm_automation_batch_limit int Количество строк в пакете обработчика автоматизации
primocrm_email_body_retention_days int Срок хранения сгенерированного тела писем
primocrm_async_automation_delivery bool Включение или отключение асинхронной отправки писем автоматизации
primocrm_auto_create_contact_status $status, $source Статус для контактов, автоматически созданных триггерами или синхронизацией пользователей
primocrm_trust_proxy_headers bool Доверять ли заголовкам прокси для IP-адреса отправителя в формах
Фильтр Значение Назначение
primocrm_brand_name string Имя бренда, отображаемое в админ-панели
primocrm_brand_menu_icon string Иконка меню в админ-панели
primocrm_brand array Дескриптор бренда, локализованный для приложения

Приложение админ-панели предоставляет два фильтра JavaScript через wp.hooks, чтобы дополнения могли внедрять пользовательский интерфейс. Они возвращают дескрипторы с колбэками монтирования, а не элементы React, поскольку приложение и дополнения могут использовать разные версии React.

Фильтр Назначение
primocrm.settings.tabs Добавить вкладку на экран настроек
primocrm.campaigns.rowActions Добавить действие в строку кампании