Ir al contenido

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.

Reacciona a estos con add_action.

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
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
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 );

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.

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
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
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

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