Acciones y filtros
PrimoCRM expone acciones de WordPress (eventos a los que puedes reaccionar) y filtros
(valores y registros que puedes modificar). Todos los ganchos usan el prefijo primocrm_.
PrimoCRM en sí no incluye código de pago ni comprobaciones de licencia. Todo lo que añade el complemento Pro, lo añade a través de los ganchos de esta página, por lo que cualquier cosa que Pro pueda hacer aquí, tu propio plugin también puede hacerlo.
Ganchos de acción (eventos)
Sección titulada «Ganchos de acción (eventos)»Reacciona a estos con add_action.
Ciclo de vida del contacto
Sección titulada «Ciclo de vida del contacto»| Gancho | Argumentos | Se ejecuta cuando |
|---|---|---|
primocrm_contact_created |
$contact_id |
Se crea un contacto |
primocrm_contact_updated |
$contact_id, $changed_keys |
Se actualiza un contacto ($changed_keys son los nombres de los campos modificados) |
primocrm_contact_deleted |
$contact_id, $email |
Se elimina un contacto (la dirección se pasa porque la fila ya no existe) |
primocrm_contact_status_changed |
$contact_id, $new_status, $old_status |
Cambia el estado de un contacto |
primocrm_contact_unsubscribed |
$contact_id |
Un contacto se da de baja |
primocrm_contact_resubscribed |
$contact_id |
Un contacto vuelve a suscribirse |
primocrm_double_optin_confirmed |
$contact_id |
Un contacto confirma un enlace de doble opt-in |
primocrm_contact_tag_added |
$contact_id, $tag_id |
Se aplica una etiqueta |
primocrm_contact_tag_removed |
$contact_id, $tag_id |
Se elimina una etiqueta |
primocrm_contact_list_added |
$contact_id, $list_id |
Se añade a una lista |
primocrm_contact_list_removed |
$contact_id, $list_id |
Se elimina de una lista |
Interacción y formularios
Sección titulada «Interacción y formularios»| Gancho | Argumentos | Se ejecuta cuando |
|---|---|---|
primocrm_form_submitted |
$form_id, $entry_id, $contact_id, $data |
Se procesa un formulario de PrimoCRM |
primocrm_email_opened |
$contact_id, $campaign_id |
Se registra la apertura de un correo electrónico |
primocrm_email_link_clicked |
$contact_id, $campaign_id, $url |
Se hace clic en un enlace rastreado |
Campañas y plantillas de correo electrónico
Sección titulada «Campañas y plantillas de correo electrónico»Estas son las acciones de escritura de las pantallas de campañas y plantillas. Un plugin que añade sus propia configuración a una campaña la almacena aquí, junto a la campaña que el usuario acaba de guardar.
| Gancho | Argumentos | Se ejecuta cuando |
|---|---|---|
primocrm_campaign_saved |
$campaign_id, $request, $is_new |
Se crea o actualiza una campaña ($request es el objeto WP_REST_Request) |
primocrm_campaigns_deleted |
$campaign_ids |
Se eliminan una o más campañas |
primocrm_email_template_saved |
$template_id, $request, $is_new |
Se crea o actualiza una plantilla de correo electrónico |
primocrm_health_check_tick |
ninguno | Se ejecuta la comprobación de salud de la cola de cinco minutos, un espacio predefinido para tareas periódicas |
Sistema
Sección titulada «Sistema»| Gancho | Argumentos | Se ejecuta cuando |
|---|---|---|
primocrm_loaded |
$plugin |
Durante el registro de rutas REST. Es un saludo del catálogo, no un gancho de arranque fiable |
primocrm_automations_paused_for_handlers |
$automation_ids |
Las automatizaciones se pausaron porque desapareció un activador o gestor de acciones |
primocrm_automations_resumed_for_handlers |
$automation_ids |
Esas automatizaciones se reanudaron porque el gestor volvió a estar disponible |
Ejemplo:
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 ) { // Score the contact, notify a channel, etc.}, 10, 3 );Ganchos de filtro (registros)
Sección titulada «Ganchos de filtro (registros)»Estos recopilan elementos extensibles. Las recetas completas se encuentran en Extending PrimoCRM.
| Filtro | Valor | Propósito |
|---|---|---|
primocrm_automation_triggers |
array | Registrar o modificar activadores de automatización |
primocrm_automation_actions |
array | Registrar o modificar acciones de automatización |
primocrm_condition_options |
array (fields, operators) |
Añadir campos y operadores al creador de condiciones |
primocrm_form_field_types |
array (tipo a clase) | Registrar tipos de campos de formulario personalizados |
primocrm_migration_sources |
array (clave a origen) | Registrar proveedores de origen de migración |
primocrm_smart_code_catalog |
array | Añadir entradas al selector de códigos inteligentes |
primocrm_smart_codes |
$content, $contact, $context |
Reemplazar tus propios códigos inteligentes mientras se renderiza un correo electrónico |
primocrm_mail_providers |
array (id a descriptor) | Registrar un proveedor de correo electrónico por API, con la configuración que necesita |
primocrm_smtp_send |
$result, $provider, $atts, $settings |
Realizar el envío para tu proveedor. Devuelve null y PrimoCRM recurrirá a wp_mail |
primocrm_email_editors |
array (tipo a descriptor) | Registrar un editor de correo electrónico como tipo de plantilla |
primocrm_double_optin_sources |
array de claves | Qué orígenes de contactos requieren doble opt-in |
Una entrada del catálogo sin un gestor registrado se muestra como no disponible en lugar de
ocultarse, así que asígnale una cadena requires_plugin que indique lo que necesita. PrimoCRM
lo muestra como “Requiere X” y no permite seleccionarla.
Ganchos de filtro (cargas útiles)
Sección titulada «Ganchos de filtro (cargas útiles)»La carga útil (payload) de REST para una campaña o plantilla, en su camino hacia la aplicación de administración. Usa esto para enviar tus propios campos a una interfaz de usuario que hayas inyectado a través de los puntos de contacto de JavaScript que se indican a continuación.
| Filtro | Valor | Propósito |
|---|---|---|
primocrm_campaign_response |
$campaign, $campaign_id |
Adjuntar tus campos a la respuesta de una sola campaña |
primocrm_email_template_response |
$template, $template_id |
Adjuntar tus campos a la respuesta de una sola plantilla |
primocrm_pre_send_campaign |
$taken_over, $campaign, $settings, $request |
Devolver un WP_REST_Response para tomar el control total del envío. Cualquier otra cosa hará que PrimoCRM realice el envío con normalidad |
primocrm_campaign_sent_elsewhere |
$handled, $campaign |
Devolver true cuando tu código ya haya puesto esta campaña en la cola, para que el generador de colas integrado la omita |
Marca y promoción
Sección titulada «Marca y promoción»| Filtro | Valor | Propósito |
|---|---|---|
primocrm_brand_name |
string | El nombre de la marca que se muestra en la administración |
primocrm_brand_menu_icon |
string | El icono del menú de administración |
primocrm_brand |
array | El descriptor de marca localizado para la aplicación |
primocrm_show_upsell |
bool | Devolver false para eliminar el botón “Actualizar” de la cabecera de administración. El complemento Pro hace esto por ti |
primocrm_upgrade_url |
string | A dónde apunta ese botón |
primocrm_show_reports_menu |
bool | Devolver true cuando añadas una pestaña a través de primocrm.reports.tabs, para que la barra lateral de WordPress muestre Informes. Desactivado por defecto, porque sin una pestaña la pantalla no tiene nada que mostrar. El complemento Pro hace esto por ti |
Ganchos de filtro (comportamiento y ajuste)
Sección titulada «Ganchos de filtro (comportamiento y ajuste)»| Filtro | Valor | Propósito |
|---|---|---|
primocrm_send_batch_size |
int | Correos electrónicos por lote de procesamiento de campañas |
primocrm_send_rate_per_hour |
int | Límite de velocidad de envío de campañas |
primocrm_automation_batch_limit |
int | Filas por lote de procesamiento de automatizaciones |
primocrm_email_body_retention_days |
int | Cuánto tiempo se conservan los cuerpos de los correos electrónicos renderizados |
primocrm_async_automation_delivery |
bool | Alternar la entrega asíncrona de correos electrónicos de automatización |
primocrm_auto_create_contact_status |
$status, $source |
Estado para los contactos creados automáticamente por activadores o sincronización de usuarios |
primocrm_require_postal_address |
bool | Si se requiere una dirección postal antes de poder enviar una campaña |
primocrm_trust_proxy_headers |
bool | Si se debe confiar en las cabeceras de proxy para la IP de quien envía en los formularios |
primocrm_migration_step_budget |
float (segundos, por defecto 10) | Cuánto tiempo puede trabajar una solicitud de importación o migración antes de ceder el control y que continúe la siguiente solicitud |
Ganchos de JavaScript (wp.hooks)
Sección titulada «Ganchos de JavaScript (wp.hooks)»La aplicación de administración es una aplicación de página única en React, y estos filtros de wp.hooks son la forma
en que otro plugin coloca su propia interfaz de usuario dentro de ella. No existen páginas de complementos independientes.
Cada filtro devuelve descriptores con una función de retorno de llamada mount, no elementos de React:
es posible que la aplicación y tu plugin estén ejecutando diferentes versiones de React, por lo que PrimoCRM
te proporciona un nodo DOM para que renderices dentro de él por ti mismo.
| Filtro | Propósito |
|---|---|
primocrm.settings.tabs |
Añadir una pestaña a la pantalla de Ajustes |
primocrm.reports.tabs |
Añadir una pestaña a Informes. La pantalla de Informes y su elemento de menú en la aplicación solo existen mientras algo haya registrado uno; para la entrada en la barra lateral de WordPress, devuelve también true desde primocrm_show_reports_menu |
primocrm.campaigns.rowActions |
Añadir una acción a una fila de campaña |
primocrm.campaignCreate.sections |
Añadir una sección a un paso numerado del asistente de campañas |
primocrm.campaignDetails.panels |
Añadir un panel a la pantalla de detalles de la campaña |
primocrm.emailEditor.init |
Integrar tu editor en el contenedor que PrimoCRM renderiza para tu tipo de plantilla |
primocrm.emailEditor.destroy |
Desmontar ese editor nuevamente |