Personalización de la creación de contactos en Brevo

Los artículos de la categoría Manual del desarrollador abordan temas que requieren conocimiento técnico. Ten cuidado y utiliza las técnicas descritas a continuación bajo tu propia responsabilidad. Si no tienes experiencia en desarrollo, y necesitas ayuda, te recomendamos solicitar el apoyo de un profesional.

This page is also available in English.

Contact Form 7 tiene un módulo de integración con Brevo (antes Sendinblue) que gestiona una base de datos de contactos derivada de los envíos de formularios de contacto. Para añadir los datos de un contacto a la base de datos, Contact Form 7 envía una solicitud a la API de Brevo. Esta receta describe cómo puede personalizar los parámetros de la solicitud utilizando el gancho de filtro wpcf7_sendinblue_contact_parameters.

La guía de referencia de la API de Brevo enumera ocho parámetros diferentes para una solicitud de creación de un contacto, pero en la mayoría de los casos, sólo será necesario especificar cuatro de ellos, a saber: email, attributes, listIds y updateEnabled.

El parámetro email especifica la dirección de correo electrónico del contacto. Por defecto, Contact Form 7 establece este parámetro en la dirección de correo electrónico introducida por el remitente del formulario.

El parámetro attributes es el conjunto de atributos de contacto y sus valores. Ten en cuenta que un nombre de atributo debe estar en mayúsculas y corresponder a un nombre de atributo definido en tu cuenta Brevo (Contactos > Configuración > Atributos de contacto).

El parámetro listIds es una matriz de valores enteros que especifica los ID de las listas a las que debe pertenecer el contacto creado.

El parámetro updateEnabled especifica si se actualizan los datos de un contacto existente que comparta el mismo correo electrónico. Por defecto, este valor se establece en false, lo que significa que si el mismo correo electrónico ya está en la base de datos, Brevo no actualizará el contacto y la solicitud simplemente se ignorará.

A continuación se muestra un ejemplo de código que modifica estos parámetros:

add_filter(
    'wpcf7_sendinblue_contact_parameters',

    function ( $params ) {

        // Correo electrónico
        $params['email'] = 'pedro.perez@ejemplo.com';

        // Atributos
        // No te olvides de convertir a un objeto.
        $params['attributes'] = (object) array(
            'LASTNAME' => 'Pérez',
            'FIRSTNAME' => 'Pedro',
            'TEST_BOOL' => true,
        );

        // Lista los ID
        $params['listIds'] = array( 5, 2 );

        // Actualiza contactos existentes
        $params['updateEnabled'] = true;

        // Consulta https://developers.brevo.com/reference/createcontact
        // para ver la lista completa de parámetros disponibles

        return $params;
    },

    10, 1
);