Интеграция MailChimp на веб-сайте с использованием MailChimp API и PHP
MailChimp – один из популярных сервисов электронного маркетинга, который управляет подписчиками вашего сайта. Используя MailChimp, вы можете отправлять рассылку своим подписчикам. В информационном бюллетене вы можете писать о своем свежем контенте, предложениях или объявлениях на своем веб-сайте. Информационные бюллетени полезны для возвращения аудитории на сайт.
Еще одним популярным поставщиком услуг электронного маркетинга являются:
Большинство веб-сайтов размещают форму подписки, в которой они собирают электронную почту пользователя. Это электронное письмо будет отправлено непосредственно в MailChimp в качестве подписчика.
В этой статье мы изучаем, как выполнить интеграцию MailChimp с помощью их API и PHP cURL. Мы собираемся добавить электронное письмо в MailChimp. Другими словами, мы увидим, как добавлять подписчиков в MailChimp с помощью их API.
Прежде чем продолжить, убедитесь, что на сервере включен cURL. Мы взаимодействуем с внешним URL-адресом, который является не чем иным, как конечными точками MailChimp. Для отправки запросов и получения ответов требуется cURL.
Сказав это, давайте посмотрим, как можно добавить подписчика в их списки MailChimp через API.
Вы можете интегрировать эту интеграцию MailChimp на любой веб-сайт на PHP. Например, на веб-сайтах, созданных с использованием WordPress, Laravel и т.д.
Получите ключ API MailChimp и идентификатор аудитории
Чтобы взаимодействовать с API MailChimp, вам необходимо получить ключ API и идентификатор аудитории. Следуйте приведенным ниже инструкциям и получите его.
Войдите в свою учетную запись MailChimp. Под значком пользователя выберите Учетную запись.
Нажмите Extra-> API-ключи.
В разделе «Ваши ключи API» нажмите «Создать ключ». Скопируйте свой API-ключ, который нам понадобится сейчас.
Затем получите идентификатор аудитории, к которому нужно добавить подписчиков. Для этого щелкните меню «Аудитория», а затем выберите параметр «Настройки» в раскрывающемся списке «Управление аудиторией».
В разделе «Настройки» нажмите «Имя аудитории и значения по умолчанию».
На следующей странице вы найдете свой идентификатор аудитории.
Добавить подписчика в список MailChimp
На этом этапе у вас есть ключ API и идентификатор аудитории. Теперь все, что нам нужно сделать, это отправить HTTP-запрос в MailChimp API вместе с необходимыми параметрами.
Вы можете найти список всех вызовов API в их официальной документации. Для нашего руководства нам понадобится их вызов API добавления нового члена списка.
Для этого вызова API требуется ключ API с адресом электронной почты и статусом. Для статуса мы можем передать значение «подписан» или «ожидает рассмотрения». Если установлено значение «подписан», то адрес электронной почты добавляется непосредственно в список MailChimp. И если значение «ожидает», то пользователю будет отправлено электронное письмо с подтверждением. После подтверждения пользователь становится подписчиком.
Чтобы интегрировать этот API, поместите приведенный ниже код в свой файл PHP. Обязательно замените заполнители фактическими значениями.
<?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();
}
В приведенном выше коде при успешном выполнении вы получите 200 в качестве кода ответа. Мы также обработали ошибку, если она по какой-то причине выдает ошибку.
Mailchimp также предоставляет поля Audience, в которых хранится дополнительная информация о пользователях прямо в панели управления MailChimp. На всякий случай, если вы хотите добавить поля аудитории, вы можете сделать это, добавив еще один элемент массива в указанный выше запрос POST. Здесь я добавляю значения для полей аудитории по умолчанию FNAME и LNAME.
<?php
...
...
$json = json_encode([
'email_address' => $email,
'status' => 'subscribed', //pass 'subscribed' or 'pending'
'merge_fields' => [
'FNAME' => 'ENTER_FIRST_NAME',
'LNAME' => 'ENTER_LAST_NAME'
]
]);
Добавить теги к подписчику
Вы можете организовать свои контакты MailChimp с помощью тегов. Для присвоения подписчику тегов необходимо отправить POST-запрос в MailChimp API. См. Приведенный ниже код, который назначает подписчику теги Blogger и YouTuber.
<?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();
}
Пользователь может удалить теги, указав «неактивное» значение для статусного ключа.
Удалить подписчика из списка MailChimp
MailChimp API предоставляет вызов API для удаления адреса электронной почты из списка. Согласно документации, чтобы удалить подписчика, нам нужно отправить запрос DELETE в API. На этот раз вам нужно передать md5-хэш адреса электронной почты в конечную точку 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();
}
Надеюсь, вы понимаете интеграцию API MailChimp на веб-сайте, использующем PHP. Пожалуйста, поделитесь своими мыслями и предложениями в комментарии ниже.
Статьи по Теме
- Интеграция MailChimp в WordPress без использования плагина
- Как интегрировать новостную рассылку MailChimp в приложение Laravel
- Интеграция MailChimp с плагином Contact Form 7