Что такое Битрикс и зачем он нужен, я думаю, вам уже давно известно. А вот, что такое Mailchimp, зачем он нужен, как его использовать и как его интегрировать с Битрикс я постараюсь рассказать в этой небольшой статье.
Что такое Mailchimp и зачем он нужен?
MailChimp — простой и удобный инструмент для e-mail- маркетинга, бесплатный сервис для отправки электронной почты. С его помощью Вы можете создавать и конструировать персонализированные письма с профессиональным видом. Mailchimp предлагает бесконечное количество возможностей для интеграции различных CMS (WordPress, Drupal), есть ряд предустановленных решений для интеграции с Twitter и Facebook, также есть достаточно проработанное API для интеграции ваших интернет-проектов.
Внимание! Интеграция с Битрикс!
Но меня больше всего интересует как интегрировать Mailchimp с Битрикс. Что нам нужно? Нужно: добавить юзера в лист рассылки, проверить есть ли данный юзер в списке рассылки и удалить юзера из списка рассылки. Значит требуется сделать 3 функции.
Эти функции используют класс Mailchimp API, поэтому необходимо скачать файл с классом и подключить его перед вызовом этих функций.
require_once(‘lib/MCAPI.class.php’);
Вот код этих функций:
global $api_key;
$api_key = «xxxxxxxxxxxxxxxxxxxxxxxxxxxxx-us2»; // введите тут свой api_key Mailchimp
// функция размещения нового подписчика в листе рассылки
// $list_id - id листа рассылки (смотрим в настройках листа в mailchimp)
// $merge_vars - ассоциативный массив переменных для листа (Имя юзера, Email и т.д.)
// $opt_in - Флаг сообщать юзеру о подписке или нет.
//
function MC_storeAddress($list_id, $merge_vars, $opt_in=true, $test_unsub=false)
{
global $api_key;
if ($test_unsub)
{
global $DB;
$res = $DB->Query("SELECT `id` FROM `mc_unsubs` WHERE `list_id`='".$list_id."' AND `email`='".$merge_vars["EMAIL"]."'");
if (intval($res->SelectedRowsCount())>0)
return false;
}
$api = new MCAPI($api_key);
$user = $api->listSubscribe($list_id, $merge_vars["EMAIL"], $merge_vars, 'html', $opt_in);
}
// функция проверки наличия подписчика в листе рассылки
function MC_isInList($list_id, $email)
{
global $api_key;
$api = new MCAPI($api_key);
$lists_id = $api->listsForEmail($email);
if (in_array($list_id, $lists_id))
return true;
return false;
}
// Функция удаления юзера из списка подписчиков
// $delete_member - флаг, обозначающий удалять юзера насовсем из списка
// $send_goodbye - отправлять сообщение пользователю о том, что он отписан или нет
// $send_notify - отправлять или нет пользователю подтверждение удаления из списка
function MC_unsubscribe($list_id, $email, $delete_member=false, $send_goodbye=true, $send_notify=true)
{
global $api_key;
$api = new MCAPI($api_key);
$api->listUnsubscribe($list_id, $email, $delete_member, $send_goodbye, $send_notify);
}
Эти функции требуется подключить к файлу /bitrix/php_interface/init.php (и не забыть файл с классом MailChimp) и затем уже использовать в коде своего компонента.
Добрый день.
В marketplace.1c-bitrix.ru не планируете добавить свое решение? Чтобы было просто установить, как модуль.
Нет, пока таких желаний не возникало :)
Можете ли вы сделать эти функции на нашем сайте за оплату?
Да, это вполне возможно. Обращайтесь, пожалуйста, через форму обратной связи.