✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

206

MailChimp es uno de los servicios populares de marketing por correo electrónico que administra los suscriptores de su sitio web. Con MailChimp, puede enviar un boletín a sus suscriptores. En el boletín, puede escribir sobre su nuevo contenido, ofertas o anuncios en su sitio web. Los boletines son útiles para que la audiencia vuelva al sitio web.

Otros proveedores de servicios de marketing por correo electrónico populares son:

La mayoría de los sitios web colocan un formulario de suscripción donde recopilan el correo electrónico del usuario. Este correo electrónico irá directamente a MailChimp como suscriptor.

En este artículo, estudiamos cómo hacer la integración de MailChimp usando sus API y PHP cURL. Vamos a agregar un correo electrónico a MailChimp. En otras palabras, veremos cómo agregar suscriptores a MailChimp usando su API.

Antes de continuar, asegúrese de tener cURL habilitado en el servidor. Estamos interactuando con la URL externa, que no es más que puntos finales de MailChimp. Requiere cURL para enviar solicitudes y recibir respuestas.

Dicho esto, veamos cómo se puede agregar un suscriptor a sus listas de MailChimp a través de API.

Puede integrar esta integración de MailChimp en cualquier sitio web con tecnología PHP. Por ejemplo, en sitios web creados con WordPress, Laravel, etc.

Obtén la clave de la API de MailChimp y el ID de audiencia

Para interactuar con la API de MailChimp, debe obtener la clave de la API y la ID de audiencia. Siga los pasos a continuación y consígalo.

Inicie sesión en su cuenta de MailChimp. Debajo del icono de usuario, seleccione Cuenta.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

Haga clic en Extra-> API keys.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

En la sección Sus claves de API, haga clic en Crear una clave. Copie su clave API que necesitamos en un momento.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

A continuación, obtenga una ID de audiencia a la que necesita agregar sus suscriptores. Para ello, haga clic en el menú Audiencia y luego seleccione la opción Configuración del menú desplegable Administrar audiencia.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

En Configuración, haga clic en ‘Nombre de la audiencia y valores predeterminados’.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

En la página siguiente, encontrará su ID de audiencia.

Integración de MailChimp en un sitio web mediante la API de MailChimp y PHP

Agregar suscriptor a la lista de MailChimp

En esta etapa, está listo con su clave de API y su ID de audiencia. Ahora, todo lo que tenemos que hacer es enviar una solicitud HTTP a la API de MailChimp junto con los parámetros requeridos.

Puede encontrar una lista de todas las llamadas a la API en su documentación oficial. Para nuestro tutorial, necesitamos su llamada API Add a new list member.

Esta llamada a la API requiere una clave de API con una dirección de correo electrónico y un estado. Para el estado, podemos pasar el valor ‘suscrito’ o ‘pendiente’. Si un valor está ‘suscrito’, la dirección de correo electrónico se agrega directamente a la lista de MailChimp. Y si un valor está "pendiente", se enviará un correo electrónico de confirmación al usuario. Después de la confirmación, el usuario se convierte en suscriptor.

Para integrar esta API, coloque el siguiente código en su archivo PHP. Asegúrese de reemplazar los marcadores de posición con los valores reales.

<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
 
$data_center = substr($api_key,strpos($api_key,'-')+1);
 
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members';
 
$json = json_encode([
    'email_address' => $email,
    'status'        => 'subscribed', //pass 'subscribed' or 'pending'
]);
 
try {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    $result = curl_exec($ch);
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
 
    if (200 == $status_code) {
        echo "The user added successfully to the MailChimp.";
    }
} catch(Exception $e) {
    echo $e->getMessage();
}

En el código anterior, en la ejecución exitosa, obtendrá un 200 como código de respuesta. También manejamos el error si se lanza por alguna razón.

Mailchimp también proporciona los campos Audiencia que almacenan información adicional sobre los usuarios directamente dentro del panel de MailChimp. Por si acaso, si está buscando agregar campos de audiencia, puede hacerlo agregando un elemento de matriz más en la solicitud POST anterior. Aquí, estoy agregando valores para los campos de audiencia predeterminados FNAME y LNAME.

<?php
...
...
$json = json_encode([
    'email_address' => $email,
    'status'        => 'subscribed', //pass 'subscribed' or 'pending'
    'merge_fields'  => [
        'FNAME' => 'ENTER_FIRST_NAME',
        'LNAME' => 'ENTER_LAST_NAME'
    ]
]);

Agregar etiquetas al suscriptor

Es posible que desee organizar sus contactos de MailChimp con etiquetas. Para asignar etiquetas al suscriptor, debe enviar una solicitud POST a la API de MailChimp. Consulte el siguiente código que asigna etiquetas Blogger y YouTuber a un suscriptor.

<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
 
$data_center = substr($api_key,strpos($api_key,'-')+1);
$subscriber_hash = md5(strtolower($email));
 
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. $subscriber_hash .'/tags';
 
$json = json_encode([
    'tags' => [
                ['name' => 'Blogger', 'status' => 'active'],
                ['name' => 'YouTuber', 'status' => 'active'],
            ]
]);
 
try {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    $result = curl_exec($ch);
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
 
    if (204 == $status_code) {
        echo "The tags added successfully to the User.";
    }
} catch(Exception $e) {
    echo $e->getMessage();
}

El usuario puede eliminar etiquetas proporcionando un valor ‘inactivo’ para la clave de estado.

Eliminar un suscriptor de la lista de MailChimp

La API de MailChimp proporciona una llamada a la API para eliminar una dirección de correo electrónico de una lista. Según la documentación para eliminar un suscriptor, debemos enviar una solicitud DELETE a la API. Esta vez tienes que pasar el hash md5 de una dirección de correo electrónico al punto final de la API.

<?php
$email = 'EMAIL_ADDRESS';
$list_id = 'LIST_ID';
$api_key = 'API_KEY';
 
$data_center = substr($api_key,strpos($api_key,'-')+1);
 
$url = 'https://'. $data_center .'.api.mailchimp.com/3.0/lists/'. $list_id .'/members/'. md5(strtolower($email));
 
try {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERPWD, 'user:'. $api_key);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $result = curl_exec($ch);
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
} catch(Exception $e) {
    echo $e->getMessage();
}

Espero que comprenda la integración de la API de MailChimp en un sitio web que usa PHP. Comparta sus pensamientos y sugerencias en el comentario a continuación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More