Bitrix PHP

Вопрос интеграции 1С-Битрикс и Mailchimp

Что такое Битрикс и зачем он нужен, я думаю, вам уже давно известно. А вот, что такое 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) и затем уже использовать в коде своего компонента.

Комментариев: 4

  1. Добрый день.
    В marketplace.1c-bitrix.ru не планируете добавить свое решение? Чтобы было просто установить, как модуль.

Оставить комментарий на Виталий Соков Отменить

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

три × четыре =